This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.
[sfrench/samba-autobuild/.git] / source / aparser / srvsvc.struct
1 module srvsvc
2
3 typedef uint32 LONG;
4 typedef uint32 *ENUM_HND;
5
6 typedef struct _UNISTR2 {
7        uint32 max_len;
8        uint32 undoc;
9        uint32 str_len;
10        wchar  buffer[str_len];
11 } UNISTR2;
12
13 typedef UNISTR2 *LPWSTR;
14
15 /* function 8 */
16 struct CONN_INFO_0 {
17         uint32 id; /* connection id. */
18 };
19
20 struct CONN_INFO_1 {
21         uint32 id; 
22         uint32 type;
23         uint32 num_opens;
24         uint32 num_users;
25         uint32 open_time;
26         LPWSTR usr_name;
27         LPWSTR net_name; 
28 };
29
30 struct CONN_ENUM_CTR {
31         uint32 level;
32         uint32 level2;
33         uint32 num_entries;
34         uint32 num_entries2;
35         union *info[level] {
36                 case 0 CONN_INFO_0 info0[num_entries]; 
37                 case 1 CONN_INFO_1 info1[num_entries]; 
38         }
39 };
40
41 struct SRV_R_NET_CONN_ENUM {
42         .trailer;
43         CONN_ENUM_CTR ctr;
44         uint32 num_entries;
45         ENUM_HND handle;
46         uint32 status2;
47 };
48
49 struct SRV_Q_NET_CONN_ENUM {
50        .trailer;
51        LPWSTR dest_srv;
52        LPWSTR qual_srv;
53        uint32 level;
54        uint32 level2;
55        CONN_ENUM_CTR *ctr;
56        uint32 max_len;
57        ENUM_HND handle;
58 };
59
60 /* function 9 */
61 struct FILE_INFO_3 {
62         uint32 id;            /* file index */
63         uint32 perms;         /* file permissions. don't know what format */
64         uint32 num_locks;     /* file locks */
65         LPWSTR path_name; /* file name */
66         LPWSTR user_name; /* file owner */
67 };
68
69 struct SRV_FILE_INFO_CTR {
70         uint32 level;
71         uint32 num_entries;
72         uint32 dummy;
73         union *file[level] {
74               case 3 FILE_INFO_3 info3[num_entries];
75         }
76 };
77
78 struct SRV_Q_NET_FILE_ENUM {
79        .trailer;
80        LPWSTR srv_name;
81        LPWSTR qual_name;
82        uint32 dummy;
83        uint32 level;
84        SRV_FILE_INFO_CTR ctr;
85        uint32 *status;
86        uint32 preferred_len;
87        ENUM_HND enum_hnd;
88 };
89
90
91 struct SRV_R_NET_FILE_ENUM {
92        .trailer;
93        uint32 level;
94        uint32 dummy;
95        SRV_FILE_INFO_CTR *ctr;
96        uint32 total_entries;                    /* total number of files */
97        ENUM_HND enum_hnd;
98        uint32 status;        /* return status */
99 };
100
101
102 /* function 15 */
103 struct SRV_SHARE_INFO_1 {
104         LPWSTR uni_netname;
105         uint32 type;
106         LPWSTR uni_remark;
107 };
108
109 struct SRV_SHARE_INFO_2 {
110         LPWSTR uni_netname;
111         uint32 type;
112         LPWSTR uni_remark;
113         uint32 perms;
114         uint32 max_uses;
115         uint32 num_uses;
116         LPWSTR path;
117         LPWSTR passwd;
118 };
119
120 struct SRV_R_NET_SHARE_ENUM {
121        uint32 level;
122        uint32 level2;
123        uint32 *ret_count;
124        uint32 num_entries;
125        union *info[level] {
126               case 1 SRV_SHARE_INFO_1 info1[num_entries];
127               case 2 SRV_SHARE_INFO_2 info2[num_entries];
128        }
129        .trailer;
130        uint32 count;
131        ENUM_HND handle;
132        uint32 status;
133 };
134
135
136
137 /* function 21 */
138 struct SERVER_INFO_100 {
139         uint32  dwPlatformID;
140         LPWSTR pszName;
141 };
142
143 struct SERVER_INFO_101 {
144             uint32  dwPlatformID;
145             LPWSTR pszName;
146             uint32  dwVerMajor;
147             uint32  dwVerMinor;
148             uint32  dwType;
149             LPWSTR pszComment;
150 };
151
152 struct SERVER_INFO_102 {
153     uint32 dwPlatformID;
154     LPWSTR pszName;
155     uint32 dwVerMajor;
156     uint32 dwVerMinor;
157     uint32 dwType;
158     LPWSTR pszComment;
159     uint32 dwUsers;
160     uint32 lDisc;
161     uint32 bHidden;
162     uint32 dwAnnounce;
163     uint32 dwAnnDelta;
164     uint32 dwLicenses;
165     LPWSTR pszUserPath;
166 };
167
168 struct SRV_R_NET_SERVER_INFO {
169        .trailer;
170        uint32 level;
171        union *info[level] {
172                 case 100 SERVER_INFO_100 sv100;
173                 case 101 SERVER_INFO_101 sv101;
174                 case 102 SERVER_INFO_102 sv102;
175        }
176        uint32 status;
177 };
178
179 struct SRV_Q_NET_SERVER_INFO {
180        .trailer;
181        LPWSTR server;
182        uint32 level;
183 };
184