~vcs-imports/samba/main

« back to all changes in this revision

Viewing changes to source/include/rpc_unixinfo.h

  • Committer: jerry
  • Date: 2006-07-14 21:48:39 UTC
  • Revision ID: vcs-imports@canonical.com-20060714214839-586d8c489a8fcead
gutting trunk to move to svn:externals

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* 
2
 
   Unix SMB/CIFS implementation.
3
 
 
4
 
   Unixinfo definitions.
5
 
 
6
 
   Copyright (C) Volker Lendecke 2005
7
 
 
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.
12
 
   
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.
17
 
   
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.
21
 
*/
22
 
 
23
 
#ifndef _RPC_UNIXINFO_H
24
 
#define _RPC_UNIXINFO_H
25
 
 
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
31
 
 
32
 
typedef struct unixinfo_q_sid_to_uid {
33
 
        DOM_SID sid;
34
 
} UNIXINFO_Q_SID_TO_UID;
35
 
 
36
 
typedef struct unixinfo_r_sid_to_uid {
37
 
        UINT64_S uid;
38
 
        NTSTATUS status;
39
 
} UNIXINFO_R_SID_TO_UID;
40
 
 
41
 
typedef struct unixinfo_q_uid_to_sid {
42
 
        UINT64_S uid;
43
 
} UNIXINFO_Q_UID_TO_SID;
44
 
 
45
 
typedef struct unixinfo_r_uid_to_sid {
46
 
        uint32 sidptr;
47
 
        DOM_SID sid;
48
 
        NTSTATUS status;
49
 
} UNIXINFO_R_UID_TO_SID;
50
 
 
51
 
typedef struct unixinfo_q_sid_to_gid {
52
 
        DOM_SID sid;
53
 
} UNIXINFO_Q_SID_TO_GID;
54
 
 
55
 
typedef struct unixinfo_r_sid_to_gid {
56
 
        UINT64_S gid;
57
 
        NTSTATUS status;
58
 
} UNIXINFO_R_SID_TO_GID;
59
 
 
60
 
typedef struct unixinfo_q_gid_to_sid {
61
 
        UINT64_S gid;
62
 
} UNIXINFO_Q_GID_TO_SID;
63
 
 
64
 
typedef struct unixinfo_r_gid_to_sid {
65
 
        uint32 sidptr;
66
 
        DOM_SID sid;
67
 
        NTSTATUS status;
68
 
} UNIXINFO_R_GID_TO_SID;
69
 
 
70
 
typedef struct unixinfo_q_getpwuid {
71
 
        uint32 count;
72
 
        UINT64_S *uid;
73
 
} UNIXINFO_Q_GETPWUID;
74
 
 
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;
81
 
};
82
 
 
83
 
typedef struct unixinfo_r_getpwuid {
84
 
        uint32 count;
85
 
        struct unixinfo_getpwuid *info;
86
 
        NTSTATUS status;
87
 
} UNIXINFO_R_GETPWUID;
88
 
 
89
 
#endif  
90
 
/* 
91
 
   Unix SMB/CIFS implementation.
92
 
 
93
 
   Unixinfo definitions.
94
 
 
95
 
   Copyright (C) Volker Lendecke 2005
96
 
 
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.
101
 
   
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.
106
 
   
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.
110
 
*/
111
 
 
112
 
#ifndef _RPC_UNIXINFO_H
113
 
#define _RPC_UNIXINFO_H
114
 
 
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
120
 
 
121
 
typedef struct unixinfo_q_sid_to_uid {
122
 
        DOM_SID sid;
123
 
} UNIXINFO_Q_SID_TO_UID;
124
 
 
125
 
typedef struct unixinfo_r_sid_to_uid {
126
 
        UINT64_S uid;
127
 
        NTSTATUS status;
128
 
} UNIXINFO_R_SID_TO_UID;
129
 
 
130
 
typedef struct unixinfo_q_uid_to_sid {
131
 
        UINT64_S uid;
132
 
} UNIXINFO_Q_UID_TO_SID;
133
 
 
134
 
typedef struct unixinfo_r_uid_to_sid {
135
 
        uint32 sidptr;
136
 
        DOM_SID sid;
137
 
        NTSTATUS status;
138
 
} UNIXINFO_R_UID_TO_SID;
139
 
 
140
 
typedef struct unixinfo_q_sid_to_gid {
141
 
        DOM_SID sid;
142
 
} UNIXINFO_Q_SID_TO_GID;
143
 
 
144
 
typedef struct unixinfo_r_sid_to_gid {
145
 
        UINT64_S gid;
146
 
        NTSTATUS status;
147
 
} UNIXINFO_R_SID_TO_GID;
148
 
 
149
 
typedef struct unixinfo_q_gid_to_sid {
150
 
        UINT64_S gid;
151
 
} UNIXINFO_Q_GID_TO_SID;
152
 
 
153
 
typedef struct unixinfo_r_gid_to_sid {
154
 
        uint32 sidptr;
155
 
        DOM_SID sid;
156
 
        NTSTATUS status;
157
 
} UNIXINFO_R_GID_TO_SID;
158
 
 
159
 
typedef struct unixinfo_q_getpwuid {
160
 
        UINT64_S uid;
161
 
} UNIXINFO_Q_GETPWUID;
162
 
 
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;
171
 
 
172
 
#endif