afsd: Tidy up system calls
[openafs.git] / src / afs / UKERNEL / afsd_uafs.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  * User space client glue for the afsd cache manager interface
12  */
13
14 #include <afsconfig.h>
15 #include <afs/param.h>
16
17 #ifdef UKERNEL
18
19 #include "afs/sysincludes.h"
20 #include "afsincludes.h"
21 #include "afs_usrops.h"
22 #include "afs/afsutil.h"
23 #include "afs/afs_args.h"
24 #include "afsd/afsd.h"
25
26 extern int call_syscall(long, long, long, long, long, long);
27
28 void
29 afsd_mount_afs(const char *rn, const char *mountdir)
30 {
31     uafs_setMountDir(mountdir);
32     uafs_mount();
33 }
34
35 void
36 afsd_set_rx_rtpri(void)
37 {
38     /* noop */
39 }
40 void
41 afsd_set_afsd_rtpri(void)
42 {
43     /* noop */
44 }
45
46 int
47 afsd_check_mount(const char *rn, const char *mountdir)
48 {
49     /* libuafs could provide a callback of some kind to let the user code
50      * specify a "is this mount point valid?" function, but for now there's
51      * no need for it. */
52     return 0;
53 }
54
55 int
56 afsd_call_syscall(struct afsd_syscall_args *args)
57 {
58     return call_syscall(AFSCALL_CALL, args->syscall, args->params[0],
59                         args->params[1], args->params[2], args->params[3]);
60 }
61
62 int
63 afsd_fork(int wait, afsd_callback_func cbf, void *rock)
64 {
65     int code;
66     usr_thread_t tid;
67     usr_thread_create(&tid, cbf, rock);
68     if (wait) {
69         code = usr_thread_join(tid, NULL);
70     } else {
71         code = usr_thread_detach(tid);
72     }
73     return code;
74 }
75
76 int
77 afsd_daemon(int nochdir, int noclose)
78 {
79     /* noop */
80     return 0;
81 }
82
83 #endif /* UKERNEL */