r18188: merge 3.0-libndr branch
[Samba.git] / source / include / rpc_unixinfo.h
blob913196b7c9bbffc658e5a6df4c571d28e0b004c1
1 /*
2 Unix SMB/CIFS implementation.
4 Unixinfo definitions.
6 Copyright (C) Volker Lendecke 2005
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #ifndef _RPC_UNIXINFO_H
24 #define _RPC_UNIXINFO_H
26 #define UNIXINFO_SID_TO_UID 0x00
27 #define UNIXINFO_UID_TO_SID 0x01
28 #define UNIXINFO_SID_TO_GID 0x02
29 #define UNIXINFO_GID_TO_SID 0x03
30 #define UNIXINFO_GETPWUID 0x04
32 typedef struct unixinfo_q_sid_to_uid {
33 DOM_SID sid;
34 } UNIXINFO_Q_SID_TO_UID;
36 typedef struct unixinfo_r_sid_to_uid {
37 uint64 uid;
38 NTSTATUS status;
39 } UNIXINFO_R_SID_TO_UID;
41 typedef struct unixinfo_q_uid_to_sid {
42 uint64 uid;
43 } UNIXINFO_Q_UID_TO_SID;
45 typedef struct unixinfo_r_uid_to_sid {
46 uint32 sidptr;
47 DOM_SID sid;
48 NTSTATUS status;
49 } UNIXINFO_R_UID_TO_SID;
51 typedef struct unixinfo_q_sid_to_gid {
52 DOM_SID sid;
53 } UNIXINFO_Q_SID_TO_GID;
55 typedef struct unixinfo_r_sid_to_gid {
56 uint64 gid;
57 NTSTATUS status;
58 } UNIXINFO_R_SID_TO_GID;
60 typedef struct unixinfo_q_gid_to_sid {
61 uint64 gid;
62 } UNIXINFO_Q_GID_TO_SID;
64 typedef struct unixinfo_r_gid_to_sid {
65 uint32 sidptr;
66 DOM_SID sid;
67 NTSTATUS status;
68 } UNIXINFO_R_GID_TO_SID;
70 typedef struct unixinfo_q_getpwuid {
71 uint32 count;
72 uint64 *uid;
73 } UNIXINFO_Q_GETPWUID;
75 struct unixinfo_getpwuid {
76 /* name, gid and gecos explicitly excluded, these values can be
77 retrieved via other means */
78 NTSTATUS status;
79 const char *homedir;
80 const char *shell;
83 typedef struct unixinfo_r_getpwuid {
84 uint32 count;
85 struct unixinfo_getpwuid *info;
86 NTSTATUS status;
87 } UNIXINFO_R_GETPWUID;
89 #endif
90 /*
91 Unix SMB/CIFS implementation.
93 Unixinfo definitions.
95 Copyright (C) Volker Lendecke 2005
97 This program is free software; you can redistribute it and/or modify
98 it under the terms of the GNU General Public License as published by
99 the Free Software Foundation; either version 2 of the License, or
100 (at your option) any later version.
102 This program is distributed in the hope that it will be useful,
103 but WITHOUT ANY WARRANTY; without even the implied warranty of
104 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
105 GNU General Public License for more details.
107 You should have received a copy of the GNU General Public License
108 along with this program; if not, write to the Free Software
109 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
112 #ifndef _RPC_UNIXINFO_H
113 #define _RPC_UNIXINFO_H
115 #define UNIXINFO_SID_TO_UID 0x00
116 #define UNIXINFO_UID_TO_SID 0x01
117 #define UNIXINFO_SID_TO_GID 0x02
118 #define UNIXINFO_GID_TO_SID 0x03
119 #define UNIXINFO_GETPWUID 0x04
121 typedef struct unixinfo_q_sid_to_uid {
122 DOM_SID sid;
123 } UNIXINFO_Q_SID_TO_UID;
125 typedef struct unixinfo_r_sid_to_uid {
126 uint64 uid;
127 NTSTATUS status;
128 } UNIXINFO_R_SID_TO_UID;
130 typedef struct unixinfo_q_uid_to_sid {
131 uint64 uid;
132 } UNIXINFO_Q_UID_TO_SID;
134 typedef struct unixinfo_r_uid_to_sid {
135 uint32 sidptr;
136 DOM_SID sid;
137 NTSTATUS status;
138 } UNIXINFO_R_UID_TO_SID;
140 typedef struct unixinfo_q_sid_to_gid {
141 DOM_SID sid;
142 } UNIXINFO_Q_SID_TO_GID;
144 typedef struct unixinfo_r_sid_to_gid {
145 uint64 gid;
146 NTSTATUS status;
147 } UNIXINFO_R_SID_TO_GID;
149 typedef struct unixinfo_q_gid_to_sid {
150 uint64 gid;
151 } UNIXINFO_Q_GID_TO_SID;
153 typedef struct unixinfo_r_gid_to_sid {
154 uint32 sidptr;
155 DOM_SID sid;
156 NTSTATUS status;
157 } UNIXINFO_R_GID_TO_SID;
159 typedef struct unixinfo_q_getpwuid {
160 uint64 uid;
161 } UNIXINFO_Q_GETPWUID;
163 typedef struct unixinfo_r_getpwuid {
164 /* name and gid explicitly excluded, these values can be retrieved via
165 other means */
166 const char *gecos;
167 const char *homedir;
168 const char *shell;
169 NTSTATUS status;
170 } UNIXINFO_R_GETPWUID;
172 #endif