s4:selftest: reference binaries via variables in tests.sh
[Samba.git] / librpc / gen_ndr / krb5pac.h
blob73bd0d95bb1fd97c1f62b6fd3853e4e5c210123e
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "librpc/gen_ndr/security.h"
6 #include "librpc/gen_ndr/netlogon.h"
7 #include "librpc/gen_ndr/samr.h"
8 #ifndef _HEADER_krb5pac
9 #define _HEADER_krb5pac
11 #define NETLOGON_GENERIC_KRB5_PAC_VALIDATE ( 3 )
12 struct PAC_LOGON_NAME {
13 NTTIME logon_time;
14 uint16_t size;/* [value(2*strlen_m(account_name))] */
15 const char *account_name;/* [charset(UTF16)] */
18 struct PAC_SIGNATURE_DATA {
19 uint32_t type;
20 DATA_BLOB signature;/* [flag(LIBNDR_FLAG_REMAINING)] */
21 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
23 struct PAC_LOGON_INFO {
24 struct netr_SamInfo3 info3;
25 struct dom_sid2 *res_group_dom_sid;/* [unique] */
26 struct samr_RidWithAttributeArray res_groups;
29 struct PAC_UNKNOWN_12 {
30 uint16_t upn_size;/* [value(2*strlen_m(upn_name))] */
31 uint16_t upn_offset;
32 uint16_t domain_size;/* [value(2*strlen_m(domain_name))] */
33 uint16_t domain_offset;
34 uint16_t unknown3;
35 uint16_t unknown4;
36 uint32_t unknown5;
37 const char *upn_name;/* [charset(UTF16)] */
38 const char *domain_name;/* [charset(UTF16)] */
39 uint32_t unknown6;
42 struct PAC_LOGON_INFO_CTR {
43 struct PAC_LOGON_INFO *info;/* [unique] */
44 }/* [public] */;
46 enum PAC_TYPE
47 #ifndef USE_UINT_ENUMS
49 PAC_TYPE_LOGON_INFO=1,
50 PAC_TYPE_SRV_CHECKSUM=6,
51 PAC_TYPE_KDC_CHECKSUM=7,
52 PAC_TYPE_LOGON_NAME=10,
53 PAC_TYPE_CONSTRAINED_DELEGATION=11,
54 PAC_TYPE_UNKNOWN_12=12
56 #else
57 { __donnot_use_enum_PAC_TYPE=0x7FFFFFFF}
58 #define PAC_TYPE_LOGON_INFO ( 1 )
59 #define PAC_TYPE_SRV_CHECKSUM ( 6 )
60 #define PAC_TYPE_KDC_CHECKSUM ( 7 )
61 #define PAC_TYPE_LOGON_NAME ( 10 )
62 #define PAC_TYPE_CONSTRAINED_DELEGATION ( 11 )
63 #define PAC_TYPE_UNKNOWN_12 ( 12 )
64 #endif
67 struct DATA_BLOB_REM {
68 DATA_BLOB remaining;/* [flag(LIBNDR_FLAG_REMAINING)] */
71 union PAC_INFO {
72 struct PAC_LOGON_INFO_CTR logon_info;/* [subcontext(0xFFFFFC01),case(PAC_TYPE_LOGON_INFO)] */
73 struct PAC_SIGNATURE_DATA srv_cksum;/* [case(PAC_TYPE_SRV_CHECKSUM)] */
74 struct PAC_SIGNATURE_DATA kdc_cksum;/* [case(PAC_TYPE_KDC_CHECKSUM)] */
75 struct PAC_LOGON_NAME logon_name;/* [case(PAC_TYPE_LOGON_NAME)] */
76 struct DATA_BLOB_REM unknown;/* [subcontext(0),default] */
77 }/* [gensize,nodiscriminant,public] */;
79 struct PAC_BUFFER {
80 enum PAC_TYPE type;
81 uint32_t _ndr_size;/* [value(_ndr_size_PAC_INFO(info,type,0))] */
82 union PAC_INFO *info;/* [relative,subcontext_size(_subcontext_size_PAC_INFO(r,ndr->flags)),subcontext(0),switch_is(type),flag(LIBNDR_FLAG_ALIGN8)] */
83 uint32_t _pad;/* [value(0)] */
84 }/* [noprint,nopull,public,nopush] */;
86 struct PAC_DATA {
87 uint32_t num_buffers;
88 uint32_t version;
89 struct PAC_BUFFER *buffers;
90 }/* [public] */;
92 struct PAC_BUFFER_RAW {
93 enum PAC_TYPE type;
94 uint32_t ndr_size;
95 struct DATA_BLOB_REM *info;/* [relative,subcontext_size(NDR_ROUND(ndr_size,8)),subcontext(0),flag(LIBNDR_FLAG_ALIGN8)] */
96 uint32_t _pad;/* [value(0)] */
97 }/* [public] */;
99 struct PAC_DATA_RAW {
100 uint32_t num_buffers;
101 uint32_t version;
102 struct PAC_BUFFER_RAW *buffers;
103 }/* [public] */;
105 struct PAC_Validate {
106 uint32_t MessageType;/* [value(NETLOGON_GENERIC_KRB5_PAC_VALIDATE)] */
107 uint32_t ChecksumLength;
108 int32_t SignatureType;
109 uint32_t SignatureLength;
110 DATA_BLOB ChecksumAndSignature;/* [flag(LIBNDR_FLAG_REMAINING)] */
111 }/* [public] */;
113 struct netsamlogoncache_entry {
114 time_t timestamp;
115 struct netr_SamInfo3 info3;
116 }/* [public] */;
119 struct decode_pac {
120 struct {
121 struct PAC_DATA pac;
122 } in;
127 struct decode_pac_raw {
128 struct {
129 struct PAC_DATA_RAW pac;
130 } in;
135 struct decode_login_info {
136 struct {
137 struct PAC_LOGON_INFO logon_info;
138 } in;
143 struct decode_pac_validate {
144 struct {
145 struct PAC_Validate pac_validate;
146 } in;
150 #endif /* _HEADER_krb5pac */