Windows: Update fs newcell and add VIOCNEWCELL2
[openafs.git] / src / WINNT / afsd / smb_iocons.h
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 #ifndef __SMB_IOCONS_H_ENV_
11 #define __SMB_IOCONS_H_ENV_ 1
12
13 /* included in both AFSD and fs commands */
14
15 typedef struct chservinfo {
16         int magic;
17         char tbuffer[128];
18         int tsize;
19         long tinterval;
20         long tflags;
21 } chservinfo_t;
22
23 struct gaginfo {
24         afs_uint32 showflags, logflags, logwritethruflag, spare[3];
25         unsigned char spare2[128];
26 };
27
28 #define GAGUSER         1
29 #define GAGCONSOLE      2
30
31 struct ClearToken {
32         int AuthHandle;
33         char HandShakeKey[8];
34         int ViceId;
35         int BeginTimestamp;
36         int EndTimestamp;
37 };
38
39 struct sbstruct {
40         int sb_thisfile;
41         int sb_default;
42 };
43
44 /* set cell flags */
45 #define CM_SETCELLFLAG_SUID             2
46
47 #define VIOC_FILE_CELL_NAME             0x1
48 #define VIOCGETAL                       0x2
49 #define VIOCSETAL                       0x3
50 #define VIOC_FLUSHVOLUME                0x4
51 #define VIOCFLUSH                       0x5
52 #define VIOCSETVOLSTAT                  0x6
53 #define VIOCGETVOLSTAT                  0x7
54 #define VIOCWHEREIS                     0x8
55 #define VIOC_AFS_STAT_MT_PT             0x9
56 #define VIOC_AFS_DELETE_MT_PT           0xa
57 #define VIOCCKSERV                      0xb
58 #define VIOC_GAG                        0xc
59 #define VIOCCKBACK                      0xd
60 #define VIOCSETCACHESIZE                0xe
61 #define VIOCGETCACHEPARMS               0xf
62 #define VIOCGETCELL                     0x10
63 #define VIOCNEWCELL                     0x11
64 #define VIOC_GET_WS_CELL                0x12
65 #define VIOC_AFS_MARINER_HOST           0x13
66 #define VIOC_AFS_SYSNAME                0x14
67 #define VIOC_EXPORTAFS                  0x15
68 #define VIOC_GETCELLSTATUS              0x16
69 #define VIOC_SETCELLSTATUS              0x17
70 #define VIOC_SETSPREFS                  0x18
71 #define VIOC_GETSPREFS                  0x19
72 #define VIOC_STOREBEHIND                0x1a
73 #define VIOC_AFS_CREATE_MT_PT           0x1b
74 #define VIOC_TRACECTL                   0x1c
75 #define VIOCSETTOK                      0x1d
76 #define VIOCGETTOK                      0x1e
77 #define VIOCNEWGETTOK                   0x1f
78 #define VIOCDELTOK                      0x20
79 #define VIOCDELALLTOK                   0x21
80 #define VIOC_ISSYMLINK                  0x22
81 #define VIOC_SYMLINK                    0x23
82 #define VIOC_LISTSYMLINK                0x24
83 #define VIOC_DELSYMLINK                 0x25
84 #define VIOC_MAKESUBMOUNT               0x26
85 #define VIOC_GETRXKCRYPT                0x27
86 #define VIOC_SETRXKCRYPT                0x28
87 #define VIOC_TRACEMEMDUMP               0x29
88 #define VIOC_SHUTDOWN                   0x2a
89 #define VIOC_FLUSHALL                   0x2b
90 #define VIOCGETFID                      0x2c
91 #define VIOCGETOWNER                    0x2d
92 #define VIOC_RXSTAT_PROC                0x2e
93 #define VIOC_RXSTAT_PEER                0x2f
94 #define VIOC_UUIDCTL                    0x30
95 #define VIOC_PATH_AVAILABILITY          0x31
96 #define VIOC_GETFILETYPE                0x32
97 #define VIOC_UNICODECTL                 0x33
98 #define VIOC_SETOWNER                   0x34
99 #define VIOC_SETGROUP                   0x35
100 #define VIOC_FS_CMD                     0x36
101 #define VIOCNEWCELL2                    0x37
102
103 #define VIOC_VOLSTAT_TEST               0x3F
104
105 #define VIOC_NEWCELL2_FLAG_LINKED       0x1
106 #define VIOC_NEWCELL2_FLAG_USEDNS       0x2
107 #define VIOC_NEWCELL2_FLAG_USEREG       0x4
108
109 /* magic file name for ioctl opens */
110 #define CM_IOCTL_FILENAME       "\\_._AFS_IOCTL_._"     /* double backslashes for C compiler */
111 #define CM_IOCTL_FILENAME_NOSLASH "_._AFS_IOCTL_._"
112
113 /* max parms for ioctl, in either direction */
114 #define CM_IOCTL_MAXDATA                8192*2
115 #define CM_IOCTL_MAXPROCS               64
116
117 #endif /*  __SMB_IOCONS_H_ENV_ */