makefiles-attempt-to-support-gmake-j-20011023
[openafs.git] / src / sys / rmtsys.xg
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 package RMTSYS_
11 statindex 10
12 prefix  S
13 #define MAXPATHLEN 80
14
15 %#include <rx/rx.h>
16 %#include <rx/rx_null.h>
17
18 %#define RMTSYS_SERVICEID               4       /* shared between client+server */
19
20 /* The following defines really belong to "afs/cellconfig.h" (and are there) but there is a deadlock dependency situation among the sys and auth packages: auth depends on libsys.a (in sys) and sys depends on cellconfig.h (in auth). To avoid creating a third package we define the needed macros below. Make sure to change them whenever they're changed in "afs/cellconfig.h"... */
21 %#define        AFSCONF_RMTSYSPORT              7009
22 %#define        AFSCONF_RMTSYSSERVICE   "afsrmtsys"
23 %#define        NIL_PATHP                       "__FOO__"
24
25 /* The following struct contains the necessary client credentials that need to be passed along over the net. Group0+group1 implement a 32-bit pag number */
26 struct clientcred {
27         afs_int32       uid;
28         afs_int32       group0;
29         afs_int32       group1;
30 };
31
32 const MAXBUFFERLEN = 2048;      /* limited due to kernel buffer restrictions */
33 typedef opaque rmtbulk<MAXBUFFERLEN>;
34
35 SetPag( IN      clientcred *cred,
36         OUT     afs_int32 *newpag,
37                 afs_int32 *errornumber) = 1;
38
39 Pioctl( IN      clientcred *cred,
40                 string path<MAXPATHLEN>, 
41                 afs_int32 cmd, 
42                 afs_int32 follow, 
43                 rmtbulk *InData, 
44         INOUT   rmtbulk *OutData,
45         OUT     afs_int32 *errornumber) = 2;
46