Import Upstream version 1.8.5
[hcoop/debian/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 const RMTSYS_MAXPATHLEN = 4096;
14 #define MAXPATHLEN 4096
15
16 %#include <rx/rx.h>
17 %#include <rx/rx_null.h>
18
19 %#define RMTSYS_SERVICEID 4 /* shared between client+server */
20
21 /* 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"... */
22 %#define AFSCONF_RMTSYSPORT 7009
23 %#define AFSCONF_RMTSYSSERVICE "afsrmtsys"
24 %#define NIL_PATHP "__FOO__"
25
26 /* 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 */
27 struct clientcred {
28 afs_int32 uid;
29 afs_int32 group0;
30 afs_int32 group1;
31 };
32
33 const MAXBUFFERLEN = 16384; /* limited due to kernel buffer restrictions */
34 typedef opaque rmtbulk<MAXBUFFERLEN>;
35
36 SetPag( IN clientcred *cred,
37 OUT afs_int32 *newpag,
38 afs_int32 *errornumber) = 1;
39
40 Pioctl( IN clientcred *cred,
41 string path<MAXPATHLEN>,
42 afs_int32 cmd,
43 afs_int32 follow,
44 rmtbulk *InData,
45 INOUT rmtbulk *OutData,
46 OUT afs_int32 *errornumber) = 2;
47