pioctl.c: removed unused variable
[openafs.git] / src / sys / pioctl.c
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  *
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 /*
11  * The lpioctl system call.  (pioctl is handled by the rmtsys layer and turned
12  * into either lpioctl or a remote call as appropriate.)  It is kept separate
13  * to allow for the creation of the libkopenafs shared library without
14  * including the other system calls.
15  */
16
17 #include <afsconfig.h>
18 #include <afs/param.h>
19
20 #include <roken.h>
21
22 #include <afs/afs_args.h>
23
24 #include "afssyscalls.h"
25 #include "sys_prototypes.h"
26
27 #ifdef AFS_AIX32_ENV
28 /*
29  * in VRMIX, system calls look just like function calls, so we don't
30  * need to do anything!
31  */
32
33 #elif defined(AFS_SGI_ENV)
34
35 #pragma weak xlpioctl = lpioctl
36
37 int
38 lpioctl(char *path, int cmd, void *cmarg, int follow)
39 {
40     return (syscall(AFS_PIOCTL, path, cmd, cmarg, follow));
41 }
42
43 #elif defined(AFS_LINUX20_ENV)
44
45 int
46 lpioctl(char *path, int cmd, void *cmarg, int follow)
47 {
48     int errcode = 0;
49     int rval;
50
51     rval = proc_afs_syscall(AFSCALL_PIOCTL, (long)path, cmd, (long)cmarg,
52                             follow, &errcode);
53
54     if(rval)
55         errcode = syscall(AFS_SYSCALL, AFSCALL_PIOCTL, path, cmd, cmarg,
56                           follow);
57
58     return (errcode);
59 }
60
61 #else /* AFS_AIX32_ENV */
62
63 int
64 lpioctl(char *path, int cmd, void *cmarg, int follow)
65 {
66     int errcode = 0;
67     /* As kauth/user.c says, handle smoothly the case where no AFS system call
68      * exists (yet). */
69     void (*old)(int) = signal(SIGSYS, SIG_IGN);
70
71 #if defined(AFS_DARWIN80_ENV)
72     errcode = ioctl_afs_syscall(AFSCALL_PIOCTL, (long)path, cmd, (long)cmarg,
73                                 follow, 0, 0, &errcode);
74 #elif defined(AFS_SUN511_ENV)
75     errcode = ioctl_sun_afs_syscall(AFSCALL_PIOCTL, (uintptr_t)path, cmd,
76                                     (uintptr_t)cmarg, follow, 0, 0, &errcode);
77 #else
78     errcode = syscall(AFS_SYSCALL, AFSCALL_PIOCTL, path, cmd, cmarg, follow);
79 #endif
80
81     signal(SIGSYS, old);
82
83     return (errcode);
84 }
85
86 #endif /* !AFS_AIX32_ENV */