Commit | Line | Data |
---|---|---|
805e021f CE |
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 */ |