preparing for release of alpha.0.0
[Samba.git] / source / include / rpc_creds.h
blob79278b8500854c000d86493d15c5f1fbf9102bc6
1 /*
2 Unix SMB/Netbios implementation.
3 Version 1.9.
4 SMB parameters and setup
5 Copyright (C) Andrew Tridgell 1992-1999
6 Copyright (C) Luke Kenneth Casson Leighton 1996-1999
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_CREDS_H /* _RPC_CREDS_H */
24 #define _RPC_CREDS_H
26 typedef struct ntuser_creds
28 fstring user_name;
29 fstring domain;
30 struct pwd_info pwd;
32 uint32 ntlmssp_flags;
34 } CREDS_NT;
36 typedef struct unixuser_creds
38 fstring user_name;
39 fstring requested_name;
40 fstring real_name;
41 uint32 guest;
43 } CREDS_UNIX;
45 typedef struct unixsec_creds
47 uint32 uid;
48 uint32 gid;
49 uint32 num_grps;
50 uint32 *grps;
52 } CREDS_UNIX_SEC;
54 typedef struct ntsec_creds
56 DOM_SID sid;
57 uint32 num_grps;
58 uint32 *grp_rids;
60 } CREDS_NT_SEC;
62 typedef struct user_creds
64 BOOL reuse;
66 uint32 ptr_ntc;
67 uint32 ptr_uxc;
68 uint32 ptr_nts;
69 uint32 ptr_uxs;
70 uint32 ptr_ssk;
72 CREDS_NT ntc;
73 CREDS_UNIX uxc;
75 CREDS_NT_SEC nts;
76 CREDS_UNIX_SEC uxs;
78 uchar usr_sess_key[16];
80 } CREDS_HYBRID;
82 typedef struct subst_creds
84 fstring automount_server;
85 fstring client_addr;
86 fstring local_machine;
87 fstring client_name;
88 fstring remote_proto;
89 fstring timestring;
90 fstring remote_arch;
91 fstring myhostname;
92 fstring remote_machine;
94 } CREDS_SUBST;
96 typedef struct smbd_creds
98 CREDS_HYBRID cred;
99 CREDS_SUBST smbd;
101 } CREDS_SMBD;
103 typedef struct cred_command
105 uint16 version;
106 uint16 command;
107 uint32 pid; /* unique process id */
109 fstring name;
111 uint32 ptr_creds;
112 CREDS_HYBRID *cred;
114 } CREDS_CMD;
116 #endif /* _RPC_CREDS_H */