backport to buster
[hcoop/debian/openafs.git] / src / sys / rmtsys.xg
CommitLineData
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
10package RMTSYS_
11statindex 10
12prefix S
13const 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 */
27struct clientcred {
28 afs_int32 uid;
29 afs_int32 group0;
30 afs_int32 group1;
31};
32
33const MAXBUFFERLEN = 16384; /* limited due to kernel buffer restrictions */
34typedef opaque rmtbulk<MAXBUFFERLEN>;
35
36SetPag( IN clientcred *cred,
37 OUT afs_int32 *newpag,
38 afs_int32 *errornumber) = 1;
39
40Pioctl( 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