title: Linux: warning implicit declaration of function of system call
body: <p>So I am writing a new system call and adding it to the kernel of Linux which works when I explicitly call it through the system call number: <code>syscall(335, pid);</code>
  but gives an warning: implicit declaration of function of the system call when using its general name: <code>s_call(pid)</code>. I can't figure out why its not finding it.</p>
  
  <p>-test file is already in the kernel<br>
  -the system call is already defined in sys.c     <code>SYSCALL_DEFINE1(s_call, int, who)</code><br>
  -has an asmlinkage in syscalls.h      <code>asmlinkage long sys_s_call(int pid);</code><br>
  -in the syscall_64.tbl as</p>
  
  <pre><code>335 64  s_call      __x64_sys_s_call
  </code></pre>
  
  <p>-headers being used in the test file:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;unistd.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;unistd.h&gt;
  #include &lt;sys/types.h&gt;
  </code></pre>