関数 | |
void | ndr_check_padding (struct ndr_pull *ndr, size_t n) |
NTSTATUS | ndr_pull_int8 (struct ndr_pull *ndr, int ndr_flags, int8_t *v) |
NTSTATUS | ndr_pull_uint8 (struct ndr_pull *ndr, int ndr_flags, uint8_t *v) |
NTSTATUS | ndr_pull_int16 (struct ndr_pull *ndr, int ndr_flags, int16_t *v) |
NTSTATUS | ndr_pull_uint16 (struct ndr_pull *ndr, int ndr_flags, uint16_t *v) |
NTSTATUS | ndr_pull_int32 (struct ndr_pull *ndr, int ndr_flags, int32_t *v) |
NTSTATUS | ndr_pull_uint32 (struct ndr_pull *ndr, int ndr_flags, uint32_t *v) |
NTSTATUS | ndr_pull_generic_ptr (struct ndr_pull *ndr, uint32_t *v) |
NTSTATUS | ndr_pull_ref_ptr (struct ndr_pull *ndr, uint32_t *v) |
NTSTATUS | ndr_pull_udlong (struct ndr_pull *ndr, int ndr_flags, uint64_t *v) |
NTSTATUS | ndr_pull_udlongr (struct ndr_pull *ndr, int ndr_flags, uint64_t *v) |
NTSTATUS | ndr_pull_dlong (struct ndr_pull *ndr, int ndr_flags, int64_t *v) |
NTSTATUS | ndr_pull_hyper (struct ndr_pull *ndr, int ndr_flags, uint64_t *v) |
NTSTATUS | ndr_pull_pointer (struct ndr_pull *ndr, int ndr_flags, void **v) |
NTSTATUS | ndr_pull_NTSTATUS (struct ndr_pull *ndr, int ndr_flags, NTSTATUS *status) |
NTSTATUS | ndr_push_NTSTATUS (struct ndr_push *ndr, int ndr_flags, NTSTATUS status) |
void | ndr_print_NTSTATUS (struct ndr_print *ndr, const char *name, NTSTATUS r) |
NTSTATUS | ndr_pull_WERROR (struct ndr_pull *ndr, int ndr_flags, WERROR *status) |
NTSTATUS | ndr_push_WERROR (struct ndr_push *ndr, int ndr_flags, WERROR status) |
void | ndr_print_WERROR (struct ndr_print *ndr, const char *name, WERROR r) |
NTSTATUS | ndr_pull_bytes (struct ndr_pull *ndr, uint8_t *data, uint32_t n) |
NTSTATUS | ndr_pull_array_uint8 (struct ndr_pull *ndr, int ndr_flags, uint8_t *data, uint32_t n) |
NTSTATUS | ndr_push_int8 (struct ndr_push *ndr, int ndr_flags, int8_t v) |
NTSTATUS | ndr_push_uint8 (struct ndr_push *ndr, int ndr_flags, uint8_t v) |
NTSTATUS | ndr_push_int16 (struct ndr_push *ndr, int ndr_flags, int16_t v) |
NTSTATUS | ndr_push_uint16 (struct ndr_push *ndr, int ndr_flags, uint16_t v) |
NTSTATUS | ndr_push_int32 (struct ndr_push *ndr, int ndr_flags, int32_t v) |
NTSTATUS | ndr_push_uint32 (struct ndr_push *ndr, int ndr_flags, uint32_t v) |
NTSTATUS | ndr_push_udlong (struct ndr_push *ndr, int ndr_flags, uint64_t v) |
NTSTATUS | ndr_push_udlongr (struct ndr_push *ndr, int ndr_flags, uint64_t v) |
NTSTATUS | ndr_push_dlong (struct ndr_push *ndr, int ndr_flags, int64_t v) |
NTSTATUS | ndr_push_hyper (struct ndr_push *ndr, int ndr_flags, uint64_t v) |
NTSTATUS | ndr_push_pointer (struct ndr_push *ndr, int ndr_flags, void *v) |
NTSTATUS | ndr_push_align (struct ndr_push *ndr, size_t size) |
NTSTATUS | ndr_pull_align (struct ndr_pull *ndr, size_t size) |
NTSTATUS | ndr_push_bytes (struct ndr_push *ndr, const uint8_t *data, uint32_t n) |
NTSTATUS | ndr_push_zero (struct ndr_push *ndr, uint32_t n) |
NTSTATUS | ndr_push_array_uint8 (struct ndr_push *ndr, int ndr_flags, const uint8_t *data, uint32_t n) |
void | ndr_push_save (struct ndr_push *ndr, struct ndr_push_save *save) |
void | ndr_push_restore (struct ndr_push *ndr, struct ndr_push_save *save) |
NTSTATUS | ndr_push_unique_ptr (struct ndr_push *ndr, const void *p) |
NTSTATUS | ndr_push_sptr_ptr (struct ndr_push *ndr, const void *p) |
NTSTATUS | ndr_push_ref_ptr (struct ndr_push *ndr) |
NTSTATUS | ndr_push_NTTIME (struct ndr_push *ndr, int ndr_flags, NTTIME t) |
NTSTATUS | ndr_pull_NTTIME (struct ndr_pull *ndr, int ndr_flags, NTTIME *t) |
NTSTATUS | ndr_push_NTTIME_1sec (struct ndr_push *ndr, int ndr_flags, NTTIME t) |
NTSTATUS | ndr_pull_NTTIME_1sec (struct ndr_pull *ndr, int ndr_flags, NTTIME *t) |
NTSTATUS | ndr_pull_NTTIME_hyper (struct ndr_pull *ndr, int ndr_flags, NTTIME *t) |
NTSTATUS | ndr_push_NTTIME_hyper (struct ndr_push *ndr, int ndr_flags, NTTIME t) |
NTSTATUS | ndr_push_time_t (struct ndr_push *ndr, int ndr_flags, time_t t) |
NTSTATUS | ndr_pull_time_t (struct ndr_pull *ndr, int ndr_flags, time_t *t) |
void | ndr_print_struct (struct ndr_print *ndr, const char *name, const char *type) |
void | ndr_print_enum (struct ndr_print *ndr, const char *name, const char *type, const char *val, uint32_t value) |
void | ndr_print_bitmap_flag (struct ndr_print *ndr, size_t size, const char *flag_name, uint32_t flag, uint32_t value) |
void | ndr_print_int8 (struct ndr_print *ndr, const char *name, int8_t v) |
void | ndr_print_uint8 (struct ndr_print *ndr, const char *name, uint8_t v) |
void | ndr_print_int16 (struct ndr_print *ndr, const char *name, int16_t v) |
void | ndr_print_uint16 (struct ndr_print *ndr, const char *name, uint16_t v) |
void | ndr_print_int32 (struct ndr_print *ndr, const char *name, int32_t v) |
void | ndr_print_uint32 (struct ndr_print *ndr, const char *name, uint32_t v) |
void | ndr_print_udlong (struct ndr_print *ndr, const char *name, uint64_t v) |
void | ndr_print_udlongr (struct ndr_print *ndr, const char *name, uint64_t v) |
void | ndr_print_dlong (struct ndr_print *ndr, const char *name, int64_t v) |
void | ndr_print_hyper (struct ndr_print *ndr, const char *name, uint64_t v) |
void | ndr_print_pointer (struct ndr_print *ndr, const char *name, void *v) |
void | ndr_print_ptr (struct ndr_print *ndr, const char *name, const void *p) |
void | ndr_print_NTTIME (struct ndr_print *ndr, const char *name, NTTIME t) |
void | ndr_print_NTTIME_1sec (struct ndr_print *ndr, const char *name, NTTIME t) |
void | ndr_print_NTTIME_hyper (struct ndr_print *ndr, const char *name, NTTIME t) |
void | ndr_print_time_t (struct ndr_print *ndr, const char *name, time_t t) |
void | ndr_print_union (struct ndr_print *ndr, const char *name, int level, const char *type) |
void | ndr_print_bad_level (struct ndr_print *ndr, const char *name, uint16_t level) |
void | ndr_print_array_uint8 (struct ndr_print *ndr, const char *name, const uint8_t *data, uint32_t count) |
void | ndr_print_DATA_BLOB (struct ndr_print *ndr, const char *name, DATA_BLOB r) |
NTSTATUS | ndr_push_DATA_BLOB (struct ndr_push *ndr, int ndr_flags, DATA_BLOB blob) |
NTSTATUS | ndr_pull_DATA_BLOB (struct ndr_pull *ndr, int ndr_flags, DATA_BLOB *blob) |
uint32_t | ndr_size_DATA_BLOB (int ret, const DATA_BLOB *data, int flags) |
void ndr_check_padding | ( | struct ndr_pull * | ndr, | |
size_t | n | |||
) |
ndr_basic.c の 38 行で定義されています。
参照先 ndr_pull::data・ndr_pull::offset.
00039 { 00040 size_t ofs2 = (ndr->offset + (n-1)) & ~(n-1); 00041 int i; 00042 for (i=ndr->offset;i<ofs2;i++) { 00043 if (ndr->data[i] != 0) { 00044 break; 00045 } 00046 } 00047 if (i<ofs2) { 00048 DEBUG(0,("WARNING: Non-zero padding to %d: ", (int)n)); 00049 for (i=ndr->offset;i<ofs2;i++) { 00050 DEBUG(0,("%02x ", ndr->data[i])); 00051 } 00052 DEBUG(0,("\n")); 00053 } 00054 00055 }
ndr_basic.c の 60 行で定義されています。
参照先 ndr_pull::data・ndr_pull::offset.
00061 { 00062 NDR_PULL_NEED_BYTES(ndr, 1); 00063 *v = (int8_t)CVAL(ndr->data, ndr->offset); 00064 ndr->offset += 1; 00065 return NT_STATUS_OK; 00066 }
ndr_basic.c の 71 行で定義されています。
参照先 ndr_pull::data・ndr_pull::offset.
参照元 ndr_pull_dom_sid()・ndr_pull_security_ace_flags()・ndr_pull_security_ace_type()・ndr_pull_security_descriptor_revision().
00072 { 00073 NDR_PULL_NEED_BYTES(ndr, 1); 00074 *v = CVAL(ndr->data, ndr->offset); 00075 ndr->offset += 1; 00076 return NT_STATUS_OK; 00077 }
ndr_basic.c の 82 行で定義されています。
参照先 ndr_pull::offset.
00083 { 00084 NDR_PULL_ALIGN(ndr, 2); 00085 NDR_PULL_NEED_BYTES(ndr, 2); 00086 *v = (uint16_t)NDR_SVAL(ndr, ndr->offset); 00087 ndr->offset += 2; 00088 return NT_STATUS_OK; 00089 }
ndr_basic.c の 94 行で定義されています。
参照先 ndr_pull::offset.
参照元 ndr_pull_GUID()・ndr_pull_security_ace()・ndr_pull_security_acl()・ndr_pull_security_acl_revision()・ndr_pull_security_descriptor_type()・ndr_pull_string()・ndr_pull_wkssvc_NetWkstaInfo100()・ndr_pull_wkssvc_NetWkstaInfo101()・ndr_pull_wkssvc_NetWkstaInfo102().
00095 { 00096 NDR_PULL_ALIGN(ndr, 2); 00097 NDR_PULL_NEED_BYTES(ndr, 2); 00098 *v = NDR_SVAL(ndr, ndr->offset); 00099 ndr->offset += 2; 00100 return NT_STATUS_OK; 00101 }
ndr_basic.c の 106 行で定義されています。
参照先 ndr_pull::offset.
00107 { 00108 NDR_PULL_ALIGN(ndr, 4); 00109 NDR_PULL_NEED_BYTES(ndr, 4); 00110 *v = NDR_IVALS(ndr, ndr->offset); 00111 ndr->offset += 4; 00112 return NT_STATUS_OK; 00113 }
ndr_basic.c の 118 行で定義されています。
参照先 ndr_pull::offset.
参照元 ndr_pull_DATA_BLOB()・ndr_pull_dom_sid()・ndr_pull_dom_sid2()・ndr_pull_generic_ptr()・ndr_pull_GUID()・ndr_pull_notify_array()・ndr_pull_notify_depth()・ndr_pull_notify_entry()・ndr_pull_notify_event()・ndr_pull_NTSTATUS()・ndr_pull_policy_handle()・ndr_pull_ref_ptr()・ndr_pull_sec_desc_buf()・ndr_pull_security_ace()・ndr_pull_security_ace_object_flags()・ndr_pull_security_acl()・ndr_pull_security_secinfo()・ndr_pull_server_id()・ndr_pull_string()・ndr_pull_time_t()・ndr_pull_USER_INFO_0_CONTAINER()・ndr_pull_USER_INFO_1_CONTAINER()・ndr_pull_WERROR()・ndr_pull_WKS_USER_ENUM_UNION()・ndr_pull_wkssvc_joinflags()・ndr_pull_wkssvc_NetrAddAlternateComputerName()・ndr_pull_wkssvc_NetrRemoveAlternateComputerName()・ndr_pull_wkssvc_NetWkstaEnumUsers()・ndr_pull_wkssvc_NetWkstaGetInfo()・ndr_pull_wkssvc_NetWkstaInfo()・ndr_pull_wkssvc_NetWkstaInfo100()・ndr_pull_wkssvc_NetWkstaInfo101()・ndr_pull_wkssvc_NetWkstaInfo1010()・ndr_pull_wkssvc_NetWkstaInfo1011()・ndr_pull_wkssvc_NetWkstaInfo1012()・ndr_pull_wkssvc_NetWkstaInfo1013()・ndr_pull_wkssvc_NetWkstaInfo1018()・ndr_pull_wkssvc_NetWkstaInfo102()・ndr_pull_wkssvc_NetWkstaInfo1023()・ndr_pull_wkssvc_NetWkstaInfo1027()・ndr_pull_wkssvc_NetWkstaInfo1033()・ndr_pull_wkssvc_NetWkstaInfo502()・ndr_pull_wkssvc_NetWkstaSetInfo()・ndr_pull_wkssvc_NetWkstaTransportCtr()・ndr_pull_wkssvc_NetWkstaTransportCtr0()・ndr_pull_wkssvc_NetWkstaTransportEnum()・ndr_pull_wkssvc_NetWkstaTransportInfo0()・ndr_pull_wkssvc_renameflags().
00119 { 00120 NDR_PULL_ALIGN(ndr, 4); 00121 NDR_PULL_NEED_BYTES(ndr, 4); 00122 *v = NDR_IVAL(ndr, ndr->offset); 00123 ndr->offset += 4; 00124 return NT_STATUS_OK; 00125 }
ndr_basic.c の 130 行で定義されています。
参照先 ndr_pull_uint32()・ndr_pull::ptr_count・status.
参照元 ndr_pull_sec_desc_buf()・ndr_pull_security_descriptor()・ndr_pull_USER_INFO_0()・ndr_pull_USER_INFO_0_CONTAINER()・ndr_pull_USER_INFO_1()・ndr_pull_USER_INFO_1_CONTAINER()・ndr_pull_WKS_USER_ENUM_UNION()・ndr_pull_wkssvc_NetrAddAlternateComputerName()・ndr_pull_wkssvc_NetrJoinDomain2()・ndr_pull_wkssvc_NetrRemoveAlternateComputerName()・ndr_pull_wkssvc_NetrRenameMachineInDomain2()・ndr_pull_wkssvc_NetrUnjoinDomain2()・ndr_pull_wkssvc_NetWkstaEnumUsers()・ndr_pull_wkssvc_NetWkstaGetInfo()・ndr_pull_wkssvc_NetWkstaInfo()・ndr_pull_wkssvc_NetWkstaInfo100()・ndr_pull_wkssvc_NetWkstaInfo101()・ndr_pull_wkssvc_NetWkstaInfo102()・ndr_pull_wkssvc_NetWkstaSetInfo()・ndr_pull_wkssvc_NetWkstaTransportCtr()・ndr_pull_wkssvc_NetWkstaTransportCtr0()・ndr_pull_wkssvc_NetWkstaTransportEnum()・ndr_pull_wkssvc_NetWkstaTransportInfo0().
00131 { 00132 NTSTATUS status; 00133 status = ndr_pull_uint32(ndr, NDR_SCALARS, v); 00134 if (NT_STATUS_IS_OK(status) && *v != 0) { 00135 ndr->ptr_count++; 00136 } 00137 return status; 00138 }
ndr_basic.c の 143 行で定義されています。
参照先 ndr_pull_uint32().
00144 { 00145 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, v)); 00146 /* ref pointers always point to data */ 00147 *v = 1; 00148 return NT_STATUS_OK; 00149 }
ndr_basic.c の 154 行で定義されています。
参照先 ndr_pull::offset.
参照元 ndr_pull_dlong()・ndr_pull_hyper()・ndr_pull_NTTIME().
00155 { 00156 NDR_PULL_ALIGN(ndr, 4); 00157 NDR_PULL_NEED_BYTES(ndr, 8); 00158 *v = NDR_IVAL(ndr, ndr->offset); 00159 *v |= (uint64_t)(NDR_IVAL(ndr, ndr->offset+4)) << 32; 00160 ndr->offset += 8; 00161 return NT_STATUS_OK; 00162 }
ndr_basic.c の 167 行で定義されています。
参照先 ndr_pull::offset.
00168 { 00169 NDR_PULL_ALIGN(ndr, 4); 00170 NDR_PULL_NEED_BYTES(ndr, 8); 00171 *v = ((uint64_t)NDR_IVAL(ndr, ndr->offset)) << 32; 00172 *v |= NDR_IVAL(ndr, ndr->offset+4); 00173 ndr->offset += 8; 00174 return NT_STATUS_OK; 00175 }
ndr_basic.c の 180 行で定義されています。
参照先 ndr_pull_udlong().
00181 { 00182 return ndr_pull_udlong(ndr, ndr_flags, (uint64_t *)v); 00183 }
ndr_basic.c の 188 行で定義されています。
参照先 ndr_pull_udlong().
参照元 ndr_pull_NTTIME_1sec()・ndr_pull_NTTIME_hyper().
00189 { 00190 NDR_PULL_ALIGN(ndr, 8); 00191 return ndr_pull_udlong(ndr, ndr_flags, v); 00192 }
ndr_basic.c の 197 行で定義されています。
参照先 ndr_pull::data・ndr_pull::offset.
参照元 ndr_pull_notify_entry()・ndr_pull_notify_event().
00198 { 00199 intptr_t h; 00200 NDR_PULL_ALIGN(ndr, sizeof(h)); 00201 NDR_PULL_NEED_BYTES(ndr, sizeof(h)); 00202 memcpy(&h, ndr->data+ndr->offset, sizeof(h)); 00203 ndr->offset += sizeof(h); 00204 *v = (void *)h; 00205 return NT_STATUS_OK; 00206 }
ndr_basic.c の 211 行で定義されています。
参照先 ndr_pull_uint32()・status.
00212 { 00213 uint32_t v; 00214 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); 00215 *status = NT_STATUS(v); 00216 return NT_STATUS_OK; 00217 }
ndr_basic.c の 222 行で定義されています。
参照先 ndr_push_uint32()・status.
00223 { 00224 return ndr_push_uint32(ndr, ndr_flags, NT_STATUS_V(status)); 00225 }
ndr_basic.c の 235 行で定義されています。
参照先 ndr_pull_uint32()・status.
参照元 ndr_pull_wkssvc_NetrAddAlternateComputerName()・ndr_pull_WKSSVC_NETRENUMERATECOMPUTERNAMES()・ndr_pull_WKSSVC_NETRGETJOINABLEOUS()・ndr_pull_WKSSVC_NETRGETJOINABLEOUS2()・ndr_pull_WKSSVC_NETRGETJOININFORMATION()・ndr_pull_WKSSVC_NETRJOINDOMAIN()・ndr_pull_wkssvc_NetrJoinDomain2()・ndr_pull_WKSSVC_NETRLOGONDOMAINNAMEADD()・ndr_pull_WKSSVC_NETRLOGONDOMAINNAMEDEL()・ndr_pull_WKSSVC_NETRMESSAGEBUFFERSEND()・ndr_pull_wkssvc_NetrRemoveAlternateComputerName()・ndr_pull_WKSSVC_NETRRENAMEMACHINEINDOMAIN()・ndr_pull_wkssvc_NetrRenameMachineInDomain2()・ndr_pull_WKSSVC_NETRSETPRIMARYCOMPUTERNAME()・ndr_pull_WKSSVC_NETRUNJOINDOMAIN()・ndr_pull_wkssvc_NetrUnjoinDomain2()・ndr_pull_WKSSVC_NETRUSEADD()・ndr_pull_WKSSVC_NETRUSEDEL()・ndr_pull_WKSSVC_NETRUSEENUM()・ndr_pull_WKSSVC_NETRUSEGETINFO()・ndr_pull_WKSSVC_NETRVALIDATENAME()・ndr_pull_WKSSVC_NETRVALIDATENAME2()・ndr_pull_WKSSVC_NETRWKSTATRANSPORTADD()・ndr_pull_WKSSVC_NETRWKSTATRANSPORTDEL()・ndr_pull_WKSSVC_NETRWKSTAUSERGETINFO()・ndr_pull_WKSSVC_NETRWKSTAUSERSETINFO()・ndr_pull_WKSSVC_NETRWORKSTATIONSTATISTICSGET()・ndr_pull_wkssvc_NetWkstaEnumUsers()・ndr_pull_wkssvc_NetWkstaGetInfo()・ndr_pull_wkssvc_NetWkstaSetInfo()・ndr_pull_wkssvc_NetWkstaTransportEnum().
00236 { 00237 uint32_t v; 00238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); 00239 *status = W_ERROR(v); 00240 return NT_STATUS_OK; 00241 }
ndr_basic.c の 246 行で定義されています。
参照先 ndr_push_uint32()・status.
参照元 ndr_push_wkssvc_NetrAddAlternateComputerName()・ndr_push_WKSSVC_NETRENUMERATECOMPUTERNAMES()・ndr_push_WKSSVC_NETRGETJOINABLEOUS()・ndr_push_WKSSVC_NETRGETJOINABLEOUS2()・ndr_push_WKSSVC_NETRGETJOININFORMATION()・ndr_push_WKSSVC_NETRJOINDOMAIN()・ndr_push_wkssvc_NetrJoinDomain2()・ndr_push_WKSSVC_NETRLOGONDOMAINNAMEADD()・ndr_push_WKSSVC_NETRLOGONDOMAINNAMEDEL()・ndr_push_WKSSVC_NETRMESSAGEBUFFERSEND()・ndr_push_wkssvc_NetrRemoveAlternateComputerName()・ndr_push_WKSSVC_NETRRENAMEMACHINEINDOMAIN()・ndr_push_wkssvc_NetrRenameMachineInDomain2()・ndr_push_WKSSVC_NETRSETPRIMARYCOMPUTERNAME()・ndr_push_WKSSVC_NETRUNJOINDOMAIN()・ndr_push_wkssvc_NetrUnjoinDomain2()・ndr_push_WKSSVC_NETRUSEADD()・ndr_push_WKSSVC_NETRUSEDEL()・ndr_push_WKSSVC_NETRUSEENUM()・ndr_push_WKSSVC_NETRUSEGETINFO()・ndr_push_WKSSVC_NETRVALIDATENAME()・ndr_push_WKSSVC_NETRVALIDATENAME2()・ndr_push_WKSSVC_NETRWKSTATRANSPORTADD()・ndr_push_WKSSVC_NETRWKSTATRANSPORTDEL()・ndr_push_WKSSVC_NETRWKSTAUSERGETINFO()・ndr_push_WKSSVC_NETRWKSTAUSERSETINFO()・ndr_push_WKSSVC_NETRWORKSTATIONSTATISTICSGET()・ndr_push_wkssvc_NetWkstaEnumUsers()・ndr_push_wkssvc_NetWkstaGetInfo()・ndr_push_wkssvc_NetWkstaSetInfo()・ndr_push_wkssvc_NetWkstaTransportEnum().
00247 { 00248 return ndr_push_uint32(ndr, NDR_SCALARS, W_ERROR_V(status)); 00249 }
ndr_basic.c の 251 行で定義されています。
参照先 dos_errstr()・ndr_print::print.
参照元 ndr_print_wkssvc_NetrAddAlternateComputerName()・ndr_print_WKSSVC_NETRENUMERATECOMPUTERNAMES()・ndr_print_WKSSVC_NETRGETJOINABLEOUS()・ndr_print_WKSSVC_NETRGETJOINABLEOUS2()・ndr_print_WKSSVC_NETRGETJOININFORMATION()・ndr_print_WKSSVC_NETRJOINDOMAIN()・ndr_print_wkssvc_NetrJoinDomain2()・ndr_print_WKSSVC_NETRLOGONDOMAINNAMEADD()・ndr_print_WKSSVC_NETRLOGONDOMAINNAMEDEL()・ndr_print_WKSSVC_NETRMESSAGEBUFFERSEND()・ndr_print_wkssvc_NetrRemoveAlternateComputerName()・ndr_print_WKSSVC_NETRRENAMEMACHINEINDOMAIN()・ndr_print_wkssvc_NetrRenameMachineInDomain2()・ndr_print_WKSSVC_NETRSETPRIMARYCOMPUTERNAME()・ndr_print_WKSSVC_NETRUNJOINDOMAIN()・ndr_print_wkssvc_NetrUnjoinDomain2()・ndr_print_WKSSVC_NETRUSEADD()・ndr_print_WKSSVC_NETRUSEDEL()・ndr_print_WKSSVC_NETRUSEENUM()・ndr_print_WKSSVC_NETRUSEGETINFO()・ndr_print_WKSSVC_NETRVALIDATENAME()・ndr_print_WKSSVC_NETRVALIDATENAME2()・ndr_print_WKSSVC_NETRWKSTATRANSPORTADD()・ndr_print_WKSSVC_NETRWKSTATRANSPORTDEL()・ndr_print_WKSSVC_NETRWKSTAUSERGETINFO()・ndr_print_WKSSVC_NETRWKSTAUSERSETINFO()・ndr_print_WKSSVC_NETRWORKSTATIONSTATISTICSGET()・ndr_print_wkssvc_NetWkstaEnumUsers()・ndr_print_wkssvc_NetWkstaGetInfo()・ndr_print_wkssvc_NetWkstaSetInfo()・ndr_print_wkssvc_NetWkstaTransportEnum().
00252 { 00253 ndr->print(ndr, "%-25s: %s", name, dos_errstr(r)); 00254 }
ndr_basic.c の 259 行で定義されています。
参照先 ndr_pull::data・ndr_pull::offset.
00260 { 00261 NDR_PULL_NEED_BYTES(ndr, n); 00262 memcpy(data, ndr->data + ndr->offset, n); 00263 ndr->offset += n; 00264 return NT_STATUS_OK; 00265 }
ndr_basic.c の 270 行で定義されています。
参照先 ndr_pull_bytes().
参照元 ndr_pull_dom_sid()・ndr_pull_GUID()・ndr_pull_wkssvc_PasswordBuffer().
00271 { 00272 if (!(ndr_flags & NDR_SCALARS)) { 00273 return NT_STATUS_OK; 00274 } 00275 return ndr_pull_bytes(ndr, data, n); 00276 }
ndr_basic.c の 281 行で定義されています。
参照先 ndr_push::data・ndr_push::offset.
参照元 ndr_push_dom_sid().
00282 { 00283 NDR_PUSH_NEED_BYTES(ndr, 1); 00284 SCVAL(ndr->data, ndr->offset, (uint8_t)v); 00285 ndr->offset += 1; 00286 return NT_STATUS_OK; 00287 }
ndr_basic.c の 292 行で定義されています。
参照先 ndr_push::data・ndr_push::offset.
参照元 ndr_push_dom_sid()・ndr_push_security_ace_flags()・ndr_push_security_ace_type()・ndr_push_security_descriptor_revision().
00293 { 00294 NDR_PUSH_NEED_BYTES(ndr, 1); 00295 SCVAL(ndr->data, ndr->offset, v); 00296 ndr->offset += 1; 00297 return NT_STATUS_OK; 00298 }
ndr_basic.c の 303 行で定義されています。
参照先 ndr_push::offset.
00304 { 00305 NDR_PUSH_ALIGN(ndr, 2); 00306 NDR_PUSH_NEED_BYTES(ndr, 2); 00307 NDR_SSVAL(ndr, ndr->offset, (uint16_t)v); 00308 ndr->offset += 2; 00309 return NT_STATUS_OK; 00310 }
ndr_basic.c の 315 行で定義されています。
参照先 ndr_push::offset.
参照元 ndr_push_GUID()・ndr_push_security_ace()・ndr_push_security_acl()・ndr_push_security_acl_revision()・ndr_push_security_descriptor_type()・ndr_push_string()・ndr_push_wkssvc_NetWkstaInfo100()・ndr_push_wkssvc_NetWkstaInfo101()・ndr_push_wkssvc_NetWkstaInfo102().
00316 { 00317 NDR_PUSH_ALIGN(ndr, 2); 00318 NDR_PUSH_NEED_BYTES(ndr, 2); 00319 NDR_SSVAL(ndr, ndr->offset, v); 00320 ndr->offset += 2; 00321 return NT_STATUS_OK; 00322 }
ndr_basic.c の 327 行で定義されています。
参照先 ndr_push::offset.
00328 { 00329 NDR_PUSH_ALIGN(ndr, 4); 00330 NDR_PUSH_NEED_BYTES(ndr, 4); 00331 NDR_SIVALS(ndr, ndr->offset, v); 00332 ndr->offset += 4; 00333 return NT_STATUS_OK; 00334 }
ndr_basic.c の 339 行で定義されています。
参照先 ndr_push::offset.
参照元 ndr_push_DATA_BLOB()・ndr_push_dom_sid()・ndr_push_dom_sid2()・ndr_push_GUID()・ndr_push_notify_array()・ndr_push_notify_depth()・ndr_push_notify_entry()・ndr_push_notify_event()・ndr_push_NTSTATUS()・ndr_push_policy_handle()・ndr_push_ref_ptr()・ndr_push_sec_desc_buf()・ndr_push_security_ace()・ndr_push_security_ace_object_flags()・ndr_push_security_acl()・ndr_push_security_secinfo()・ndr_push_server_id()・ndr_push_sptr_ptr()・ndr_push_string()・ndr_push_time_t()・ndr_push_unique_ptr()・ndr_push_USER_INFO_0()・ndr_push_USER_INFO_0_CONTAINER()・ndr_push_USER_INFO_1()・ndr_push_USER_INFO_1_CONTAINER()・ndr_push_WERROR()・ndr_push_WKS_USER_ENUM_UNION()・ndr_push_wkssvc_joinflags()・ndr_push_wkssvc_NetrAddAlternateComputerName()・ndr_push_wkssvc_NetrJoinDomain2()・ndr_push_wkssvc_NetrRemoveAlternateComputerName()・ndr_push_wkssvc_NetrRenameMachineInDomain2()・ndr_push_wkssvc_NetrUnjoinDomain2()・ndr_push_wkssvc_NetWkstaEnumUsers()・ndr_push_wkssvc_NetWkstaGetInfo()・ndr_push_wkssvc_NetWkstaInfo()・ndr_push_wkssvc_NetWkstaInfo100()・ndr_push_wkssvc_NetWkstaInfo101()・ndr_push_wkssvc_NetWkstaInfo1010()・ndr_push_wkssvc_NetWkstaInfo1011()・ndr_push_wkssvc_NetWkstaInfo1012()・ndr_push_wkssvc_NetWkstaInfo1013()・ndr_push_wkssvc_NetWkstaInfo1018()・ndr_push_wkssvc_NetWkstaInfo102()・ndr_push_wkssvc_NetWkstaInfo1023()・ndr_push_wkssvc_NetWkstaInfo1027()・ndr_push_wkssvc_NetWkstaInfo1033()・ndr_push_wkssvc_NetWkstaInfo502()・ndr_push_wkssvc_NetWkstaSetInfo()・ndr_push_wkssvc_NetWkstaTransportCtr()・ndr_push_wkssvc_NetWkstaTransportCtr0()・ndr_push_wkssvc_NetWkstaTransportEnum()・ndr_push_wkssvc_NetWkstaTransportInfo0()・ndr_push_wkssvc_renameflags().
00340 { 00341 NDR_PUSH_ALIGN(ndr, 4); 00342 NDR_PUSH_NEED_BYTES(ndr, 4); 00343 NDR_SIVAL(ndr, ndr->offset, v); 00344 ndr->offset += 4; 00345 return NT_STATUS_OK; 00346 }
ndr_basic.c の 351 行で定義されています。
参照先 ndr_push::offset.
参照元 ndr_push_dlong()・ndr_push_hyper()・ndr_push_NTTIME().
00352 { 00353 NDR_PUSH_ALIGN(ndr, 4); 00354 NDR_PUSH_NEED_BYTES(ndr, 8); 00355 NDR_SIVAL(ndr, ndr->offset, (v & 0xFFFFFFFF)); 00356 NDR_SIVAL(ndr, ndr->offset+4, (v>>32)); 00357 ndr->offset += 8; 00358 return NT_STATUS_OK; 00359 }
ndr_basic.c の 364 行で定義されています。
参照先 ndr_push::offset.
00365 { 00366 NDR_PUSH_ALIGN(ndr, 4); 00367 NDR_PUSH_NEED_BYTES(ndr, 8); 00368 NDR_SIVAL(ndr, ndr->offset, (v>>32)); 00369 NDR_SIVAL(ndr, ndr->offset+4, (v & 0xFFFFFFFF)); 00370 ndr->offset += 8; 00371 return NT_STATUS_OK; 00372 }
ndr_basic.c の 377 行で定義されています。
参照先 ndr_push_udlong().
00378 { 00379 return ndr_push_udlong(ndr, NDR_SCALARS, (uint64_t)v); 00380 }
ndr_basic.c の 385 行で定義されています。
参照先 ndr_push_udlong().
参照元 ndr_push_NTTIME_1sec()・ndr_push_NTTIME_hyper().
00386 { 00387 NDR_PUSH_ALIGN(ndr, 8); 00388 return ndr_push_udlong(ndr, NDR_SCALARS, v); 00389 }
ndr_basic.c の 394 行で定義されています。
参照元 ndr_push_notify_entry()・ndr_push_notify_event().
00395 { 00396 intptr_t h = (intptr_t)v; 00397 NDR_PUSH_ALIGN(ndr, sizeof(h)); 00398 NDR_PUSH_NEED_BYTES(ndr, sizeof(h)); 00399 memcpy(ndr->data+ndr->offset, &h, sizeof(h)); 00400 ndr->offset += sizeof(h); 00401 return NT_STATUS_OK; 00402 }
ndr_basic.c の 404 行で定義されています。
参照元 ndr_push_dom_sid()・ndr_push_GUID()・ndr_push_notify_array()・ndr_push_notify_depth()・ndr_push_notify_entry()・ndr_push_notify_event()・ndr_push_policy_handle()・ndr_push_sec_desc_buf()・ndr_push_security_ace()・ndr_push_security_ace_object()・ndr_push_security_acl()・ndr_push_security_descriptor()・ndr_push_server_id()・ndr_push_USER_INFO_0()・ndr_push_USER_INFO_0_CONTAINER()・ndr_push_USER_INFO_1()・ndr_push_USER_INFO_1_CONTAINER()・ndr_push_wkssvc_NetWkstaInfo100()・ndr_push_wkssvc_NetWkstaInfo101()・ndr_push_wkssvc_NetWkstaInfo1010()・ndr_push_wkssvc_NetWkstaInfo1011()・ndr_push_wkssvc_NetWkstaInfo1012()・ndr_push_wkssvc_NetWkstaInfo1013()・ndr_push_wkssvc_NetWkstaInfo1018()・ndr_push_wkssvc_NetWkstaInfo102()・ndr_push_wkssvc_NetWkstaInfo1023()・ndr_push_wkssvc_NetWkstaInfo1027()・ndr_push_wkssvc_NetWkstaInfo1033()・ndr_push_wkssvc_NetWkstaInfo502()・ndr_push_wkssvc_NetWkstaTransportCtr0()・ndr_push_wkssvc_NetWkstaTransportInfo0()・ndr_push_wkssvc_PasswordBuffer().
00405 { 00406 NDR_PUSH_ALIGN(ndr, size); 00407 return NT_STATUS_OK; 00408 }
ndr_basic.c の 410 行で定義されています。
参照元 ndr_pull_dom_sid()・ndr_pull_GUID()・ndr_pull_notify_array()・ndr_pull_notify_depth()・ndr_pull_notify_entry()・ndr_pull_notify_event()・ndr_pull_policy_handle()・ndr_pull_sec_desc_buf()・ndr_pull_security_ace()・ndr_pull_security_ace_object()・ndr_pull_security_acl()・ndr_pull_security_descriptor()・ndr_pull_server_id()・ndr_pull_USER_INFO_0()・ndr_pull_USER_INFO_0_CONTAINER()・ndr_pull_USER_INFO_1()・ndr_pull_USER_INFO_1_CONTAINER()・ndr_pull_wkssvc_NetWkstaInfo100()・ndr_pull_wkssvc_NetWkstaInfo101()・ndr_pull_wkssvc_NetWkstaInfo1010()・ndr_pull_wkssvc_NetWkstaInfo1011()・ndr_pull_wkssvc_NetWkstaInfo1012()・ndr_pull_wkssvc_NetWkstaInfo1013()・ndr_pull_wkssvc_NetWkstaInfo1018()・ndr_pull_wkssvc_NetWkstaInfo102()・ndr_pull_wkssvc_NetWkstaInfo1023()・ndr_pull_wkssvc_NetWkstaInfo1027()・ndr_pull_wkssvc_NetWkstaInfo1033()・ndr_pull_wkssvc_NetWkstaInfo502()・ndr_pull_wkssvc_NetWkstaTransportCtr0()・ndr_pull_wkssvc_NetWkstaTransportInfo0()・ndr_pull_wkssvc_PasswordBuffer().
00411 { 00412 NDR_PULL_ALIGN(ndr, size); 00413 return NT_STATUS_OK; 00414 }
ndr_basic.c の 419 行で定義されています。
参照先 ndr_push::data・ndr_push::offset.
参照元 ndr_push_array_uint8()・ndr_push_DATA_BLOB()・ndr_push_string().
00420 { 00421 NDR_PUSH_NEED_BYTES(ndr, n); 00422 memcpy(ndr->data + ndr->offset, data, n); 00423 ndr->offset += n; 00424 return NT_STATUS_OK; 00425 }
ndr_basic.c の 430 行で定義されています。
参照先 ndr_push::data・ndr_push::offset.
参照元 ndr_push_dom_sid28()・ndr_push_string().
00431 { 00432 NDR_PUSH_NEED_BYTES(ndr, n); 00433 memset(ndr->data + ndr->offset, 0, n); 00434 ndr->offset += n; 00435 return NT_STATUS_OK; 00436 }
NTSTATUS ndr_push_array_uint8 | ( | struct ndr_push * | ndr, | |
int | ndr_flags, | |||
const uint8_t * | data, | |||
uint32_t | n | |||
) |
ndr_basic.c の 441 行で定義されています。
参照先 ndr_push_bytes().
参照元 ndr_push_dom_sid()・ndr_push_GUID()・ndr_push_wkssvc_PasswordBuffer().
00442 { 00443 if (!(ndr_flags & NDR_SCALARS)) { 00444 return NT_STATUS_OK; 00445 } 00446 return ndr_push_bytes(ndr, data, n); 00447 }
void ndr_push_save | ( | struct ndr_push * | ndr, | |
struct ndr_push_save * | save | |||
) |
void ndr_push_restore | ( | struct ndr_push * | ndr, | |
struct ndr_push_save * | save | |||
) |
ndr_basic.c の 468 行で定義されています。
参照先 ndr_push_uint32()・ndr_push::ptr_count.
参照元 ndr_push_sec_desc_buf()・ndr_push_USER_INFO_0()・ndr_push_USER_INFO_0_CONTAINER()・ndr_push_USER_INFO_1()・ndr_push_USER_INFO_1_CONTAINER()・ndr_push_WKS_USER_ENUM_UNION()・ndr_push_wkssvc_NetrAddAlternateComputerName()・ndr_push_wkssvc_NetrJoinDomain2()・ndr_push_wkssvc_NetrRemoveAlternateComputerName()・ndr_push_wkssvc_NetrRenameMachineInDomain2()・ndr_push_wkssvc_NetrUnjoinDomain2()・ndr_push_wkssvc_NetWkstaEnumUsers()・ndr_push_wkssvc_NetWkstaGetInfo()・ndr_push_wkssvc_NetWkstaInfo()・ndr_push_wkssvc_NetWkstaInfo100()・ndr_push_wkssvc_NetWkstaInfo101()・ndr_push_wkssvc_NetWkstaInfo102()・ndr_push_wkssvc_NetWkstaSetInfo()・ndr_push_wkssvc_NetWkstaTransportCtr()・ndr_push_wkssvc_NetWkstaTransportCtr0()・ndr_push_wkssvc_NetWkstaTransportEnum()・ndr_push_wkssvc_NetWkstaTransportInfo0().
00469 { 00470 uint32_t ptr = 0; 00471 if (p) { 00472 ptr = ndr->ptr_count * 4; 00473 ptr |= 0x00020000; 00474 ndr->ptr_count++; 00475 } 00476 return ndr_push_uint32(ndr, NDR_SCALARS, ptr); 00477 }
ndr_basic.c の 482 行で定義されています。
参照先 ndr_push_uint32()・ndr_push::ptr_count.
00483 { 00484 uint32_t ptr = 0; 00485 if (p) { 00486 ndr->ptr_count++; 00487 ptr = ndr->ptr_count; 00488 } 00489 return ndr_push_uint32(ndr, NDR_SCALARS, ptr); 00490 }
ndr_basic.c の 495 行で定義されています。
参照先 ndr_push_uint32().
00496 { 00497 return ndr_push_uint32(ndr, NDR_SCALARS, 0xAEF1AEF1); 00498 }
ndr_basic.c の 503 行で定義されています。
参照先 ndr_push_udlong().
00504 { 00505 NDR_CHECK(ndr_push_udlong(ndr, ndr_flags, t)); 00506 return NT_STATUS_OK; 00507 }
ndr_basic.c の 512 行で定義されています。
参照先 ndr_pull_udlong().
00513 { 00514 NDR_CHECK(ndr_pull_udlong(ndr, ndr_flags, t)); 00515 return NT_STATUS_OK; 00516 }
ndr_basic.c の 521 行で定義されています。
参照先 ndr_push_hyper().
00522 { 00523 t /= 10000000; 00524 NDR_CHECK(ndr_push_hyper(ndr, ndr_flags, t)); 00525 return NT_STATUS_OK; 00526 }
ndr_basic.c の 531 行で定義されています。
参照先 ndr_pull_hyper().
00532 { 00533 NDR_CHECK(ndr_pull_hyper(ndr, ndr_flags, t)); 00534 (*t) *= 10000000; 00535 return NT_STATUS_OK; 00536 }
ndr_basic.c の 541 行で定義されています。
参照先 ndr_pull_hyper().
00542 { 00543 NDR_CHECK(ndr_pull_hyper(ndr, ndr_flags, t)); 00544 return NT_STATUS_OK; 00545 }
ndr_basic.c の 550 行で定義されています。
参照先 ndr_push_hyper().
00551 { 00552 NDR_CHECK(ndr_push_hyper(ndr, ndr_flags, t)); 00553 return NT_STATUS_OK; 00554 }
ndr_basic.c の 559 行で定義されています。
参照先 ndr_push_uint32().
00560 { 00561 return ndr_push_uint32(ndr, ndr_flags, t); 00562 }
ndr_basic.c の 567 行で定義されています。
参照先 ndr_pull_uint32().
00568 { 00569 uint32_t tt; 00570 NDR_CHECK(ndr_pull_uint32(ndr, ndr_flags, &tt)); 00571 *t = tt; 00572 return NT_STATUS_OK; 00573 }
void ndr_print_struct | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
const char * | type | |||
) |
ndr_basic.c の 576 行で定義されています。
参照先 ndr_print::print.
参照元 ndr_print_notify_array()・ndr_print_notify_depth()・ndr_print_notify_entry()・ndr_print_notify_event()・ndr_print_policy_handle()・ndr_print_sec_desc_buf()・ndr_print_security_ace()・ndr_print_security_ace_object()・ndr_print_security_acl()・ndr_print_security_descriptor()・ndr_print_server_id()・ndr_print_USER_INFO_0()・ndr_print_USER_INFO_0_CONTAINER()・ndr_print_USER_INFO_1()・ndr_print_USER_INFO_1_CONTAINER()・ndr_print_wkssvc_NetrAddAlternateComputerName()・ndr_print_WKSSVC_NETRENUMERATECOMPUTERNAMES()・ndr_print_WKSSVC_NETRGETJOINABLEOUS()・ndr_print_WKSSVC_NETRGETJOINABLEOUS2()・ndr_print_WKSSVC_NETRGETJOININFORMATION()・ndr_print_WKSSVC_NETRJOINDOMAIN()・ndr_print_wkssvc_NetrJoinDomain2()・ndr_print_WKSSVC_NETRLOGONDOMAINNAMEADD()・ndr_print_WKSSVC_NETRLOGONDOMAINNAMEDEL()・ndr_print_WKSSVC_NETRMESSAGEBUFFERSEND()・ndr_print_wkssvc_NetrRemoveAlternateComputerName()・ndr_print_WKSSVC_NETRRENAMEMACHINEINDOMAIN()・ndr_print_wkssvc_NetrRenameMachineInDomain2()・ndr_print_WKSSVC_NETRSETPRIMARYCOMPUTERNAME()・ndr_print_WKSSVC_NETRUNJOINDOMAIN()・ndr_print_wkssvc_NetrUnjoinDomain2()・ndr_print_WKSSVC_NETRUSEADD()・ndr_print_WKSSVC_NETRUSEDEL()・ndr_print_WKSSVC_NETRUSEENUM()・ndr_print_WKSSVC_NETRUSEGETINFO()・ndr_print_WKSSVC_NETRVALIDATENAME()・ndr_print_WKSSVC_NETRVALIDATENAME2()・ndr_print_WKSSVC_NETRWKSTATRANSPORTADD()・ndr_print_WKSSVC_NETRWKSTATRANSPORTDEL()・ndr_print_WKSSVC_NETRWKSTAUSERGETINFO()・ndr_print_WKSSVC_NETRWKSTAUSERSETINFO()・ndr_print_WKSSVC_NETRWORKSTATIONSTATISTICSGET()・ndr_print_wkssvc_NetWkstaEnumUsers()・ndr_print_wkssvc_NetWkstaGetInfo()・ndr_print_wkssvc_NetWkstaInfo100()・ndr_print_wkssvc_NetWkstaInfo101()・ndr_print_wkssvc_NetWkstaInfo1010()・ndr_print_wkssvc_NetWkstaInfo1011()・ndr_print_wkssvc_NetWkstaInfo1012()・ndr_print_wkssvc_NetWkstaInfo1013()・ndr_print_wkssvc_NetWkstaInfo1018()・ndr_print_wkssvc_NetWkstaInfo102()・ndr_print_wkssvc_NetWkstaInfo1023()・ndr_print_wkssvc_NetWkstaInfo1027()・ndr_print_wkssvc_NetWkstaInfo1033()・ndr_print_wkssvc_NetWkstaInfo502()・ndr_print_wkssvc_NetWkstaSetInfo()・ndr_print_wkssvc_NetWkstaTransportCtr0()・ndr_print_wkssvc_NetWkstaTransportEnum()・ndr_print_wkssvc_NetWkstaTransportInfo0()・ndr_print_wkssvc_PasswordBuffer().
void ndr_print_enum | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
const char * | type, | |||
const char * | val, | |||
uint32_t | value | |||
) |
ndr_basic.c の 581 行で定義されています。
参照先 ndr_print::flags・ndr_print::print.
参照元 ndr_print_security_ace_type()・ndr_print_security_acl_revision()・ndr_print_security_descriptor_revision().
00583 { 00584 if (ndr->flags & LIBNDR_PRINT_ARRAY_HEX) { 00585 ndr->print(ndr, "%-25s: %s (0x%X)", name, val?val:"UNKNOWN_ENUM_VALUE", value); 00586 } else { 00587 ndr->print(ndr, "%-25s: %s (%d)", name, val?val:"UNKNOWN_ENUM_VALUE", value); 00588 } 00589 }
void ndr_print_bitmap_flag | ( | struct ndr_print * | ndr, | |
size_t | size, | |||
const char * | flag_name, | |||
uint32_t | flag, | |||
uint32_t | value | |||
) |
ndr_basic.c の 591 行で定義されています。
参照先 ndr_print::print.
参照元 ndr_print_security_ace_flags()・ndr_print_security_ace_object_flags()・ndr_print_security_descriptor_type()・ndr_print_security_secinfo()・ndr_print_wkssvc_joinflags()・ndr_print_wkssvc_renameflags().
00592 { 00593 /* this is an attempt to support multi-bit bitmap masks */ 00594 value &= flag; 00595 00596 while (!(flag & 1)) { 00597 flag >>= 1; 00598 value >>= 1; 00599 } 00600 if (flag == 1) { 00601 ndr->print(ndr, " %d: %-25s", value, flag_name); 00602 } else { 00603 ndr->print(ndr, "0x%02x: %-25s (%d)", value, flag_name, value); 00604 } 00605 }
void ndr_print_int8 | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
int8_t | v | |||
) |
void ndr_print_uint8 | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
uint8_t | v | |||
) |
ndr_basic.c の 612 行で定義されています。
参照先 ndr_print::print.
参照元 ndr_print_array_uint8()・ndr_print_security_ace_flags().
void ndr_print_int16 | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
int16_t | v | |||
) |
void ndr_print_uint16 | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
uint16_t | v | |||
) |
void ndr_print_int32 | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
int32_t | v | |||
) |
void ndr_print_uint32 | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
uint32_t | v | |||
) |
ndr_basic.c の 632 行で定義されています。
参照先 ndr_print::print.
参照元 ndr_print_notify_array()・ndr_print_notify_depth()・ndr_print_notify_entry()・ndr_print_notify_event()・ndr_print_policy_handle()・ndr_print_sec_desc_buf()・ndr_print_security_ace()・ndr_print_security_ace_object_flags()・ndr_print_security_acl()・ndr_print_security_secinfo()・ndr_print_server_id()・ndr_print_USER_INFO_0_CONTAINER()・ndr_print_USER_INFO_1_CONTAINER()・ndr_print_wkssvc_joinflags()・ndr_print_wkssvc_NetrAddAlternateComputerName()・ndr_print_wkssvc_NetrRemoveAlternateComputerName()・ndr_print_wkssvc_NetWkstaEnumUsers()・ndr_print_wkssvc_NetWkstaGetInfo()・ndr_print_wkssvc_NetWkstaInfo100()・ndr_print_wkssvc_NetWkstaInfo101()・ndr_print_wkssvc_NetWkstaInfo1010()・ndr_print_wkssvc_NetWkstaInfo1011()・ndr_print_wkssvc_NetWkstaInfo1012()・ndr_print_wkssvc_NetWkstaInfo1013()・ndr_print_wkssvc_NetWkstaInfo1018()・ndr_print_wkssvc_NetWkstaInfo102()・ndr_print_wkssvc_NetWkstaInfo1023()・ndr_print_wkssvc_NetWkstaInfo1027()・ndr_print_wkssvc_NetWkstaInfo1033()・ndr_print_wkssvc_NetWkstaInfo502()・ndr_print_wkssvc_NetWkstaSetInfo()・ndr_print_wkssvc_NetWkstaTransportCtr0()・ndr_print_wkssvc_NetWkstaTransportEnum()・ndr_print_wkssvc_NetWkstaTransportInfo0()・ndr_print_wkssvc_renameflags().
void ndr_print_udlong | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
uint64_t | v | |||
) |
void ndr_print_udlongr | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
uint64_t | v | |||
) |
ndr_basic.c の 642 行で定義されています。
参照先 ndr_print_udlong().
00643 { 00644 ndr_print_udlong(ndr, name, v); 00645 }
void ndr_print_dlong | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
int64_t | v | |||
) |
void ndr_print_hyper | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
uint64_t | v | |||
) |
ndr_basic.c の 652 行で定義されています。
参照先 ndr_print_dlong().
00653 { 00654 ndr_print_dlong(ndr, name, v); 00655 }
void ndr_print_pointer | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
void * | v | |||
) |
ndr_basic.c の 657 行で定義されています。
参照先 ndr_print::print.
参照元 ndr_print_notify_entry()・ndr_print_notify_event().
void ndr_print_ptr | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
const void * | p | |||
) |
ndr_basic.c の 662 行で定義されています。
参照先 ndr_print::print.
参照元 ndr_print_sec_desc_buf()・ndr_print_security_descriptor()・ndr_print_USER_INFO_0()・ndr_print_USER_INFO_0_CONTAINER()・ndr_print_USER_INFO_1()・ndr_print_USER_INFO_1_CONTAINER()・ndr_print_WKS_USER_ENUM_UNION()・ndr_print_wkssvc_NetrAddAlternateComputerName()・ndr_print_wkssvc_NetrJoinDomain2()・ndr_print_wkssvc_NetrRemoveAlternateComputerName()・ndr_print_wkssvc_NetrRenameMachineInDomain2()・ndr_print_wkssvc_NetrUnjoinDomain2()・ndr_print_wkssvc_NetWkstaEnumUsers()・ndr_print_wkssvc_NetWkstaGetInfo()・ndr_print_wkssvc_NetWkstaInfo()・ndr_print_wkssvc_NetWkstaInfo100()・ndr_print_wkssvc_NetWkstaInfo101()・ndr_print_wkssvc_NetWkstaInfo102()・ndr_print_wkssvc_NetWkstaSetInfo()・ndr_print_wkssvc_NetWkstaTransportCtr()・ndr_print_wkssvc_NetWkstaTransportCtr0()・ndr_print_wkssvc_NetWkstaTransportEnum()・ndr_print_wkssvc_NetWkstaTransportInfo0().
00663 { 00664 if (p) { 00665 ndr->print(ndr, "%-25s: *", name); 00666 } else { 00667 ndr->print(ndr, "%-25s: NULL", name); 00668 } 00669 }
ndr_basic.c の 671 行で定義されています。
参照先 nt_time_string()・ndr_print::print.
参照元 ndr_print_NTTIME_1sec()・ndr_print_NTTIME_hyper().
00672 { 00673 ndr->print(ndr, "%-25s: %s", name, nt_time_string(ndr, t)); 00674 }
ndr_basic.c の 676 行で定義されています。
参照先 ndr_print_NTTIME().
00677 { 00678 /* this is a standard NTTIME here 00679 * as it's already converted in the pull/push code 00680 */ 00681 ndr_print_NTTIME(ndr, name, t); 00682 }
ndr_basic.c の 684 行で定義されています。
参照先 ndr_print_NTTIME().
00685 { 00686 ndr_print_NTTIME(ndr, name, t); 00687 }
void ndr_print_time_t | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
time_t | t | |||
) |
ndr_basic.c の 689 行で定義されています。
参照先 ndr_print::print・timestring().
00690 { 00691 if (t == (time_t)-1 || t == 0) { 00692 ndr->print(ndr, "%-25s: (time_t)%d", name, (int)t); 00693 } else { 00694 ndr->print(ndr, "%-25s: %s", name, timestring(ndr, t)); 00695 } 00696 }
void ndr_print_union | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
int | level, | |||
const char * | type | |||
) |
ndr_basic.c の 698 行で定義されています。
参照先 ndr_print::flags・ndr_print::print.
参照元 ndr_print_security_ace_object_ctr()・ndr_print_security_ace_object_inherited_type()・ndr_print_security_ace_object_type()・ndr_print_WKS_USER_ENUM_UNION()・ndr_print_wkssvc_NetWkstaInfo()・ndr_print_wkssvc_NetWkstaTransportCtr().
00699 { 00700 if (ndr->flags & LIBNDR_PRINT_ARRAY_HEX) { 00701 ndr->print(ndr, "%-25s: union %s(case 0x%X)", name, type, level); 00702 } else { 00703 ndr->print(ndr, "%-25s: union %s(case %d)", name, type, level); 00704 } 00705 }
void ndr_print_bad_level | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
uint16_t | level | |||
) |
void ndr_print_array_uint8 | ( | struct ndr_print * | ndr, | |
const char * | name, | |||
const uint8_t * | data, | |||
uint32_t | count | |||
) |
ndr_basic.c の 712 行で定義されています。
参照先 asprintf()・ndr_print::depth・ndr_print::flags・ndr_print_uint8()・ndr_print::print・snprintf().
参照元 ndr_print_wkssvc_PasswordBuffer().
00714 { 00715 int i; 00716 00717 if (count <= 600 && (ndr->flags & LIBNDR_PRINT_ARRAY_HEX)) { 00718 char s[1202]; 00719 for (i=0;i<count;i++) { 00720 snprintf(&s[i*2], 3, "%02x", data[i]); 00721 } 00722 s[i*2] = 0; 00723 ndr->print(ndr, "%-25s: %s", name, s); 00724 return; 00725 } 00726 00727 ndr->print(ndr, "%s: ARRAY(%d)", name, count); 00728 ndr->depth++; 00729 for (i=0;i<count;i++) { 00730 char *idx=NULL; 00731 asprintf(&idx, "[%d]", i); 00732 if (idx) { 00733 ndr_print_uint8(ndr, idx, data[i]); 00734 free(idx); 00735 } 00736 } 00737 ndr->depth--; 00738 }
ndr_basic.c の 740 行で定義されています。
参照先 data_blob_::data・dump_data()・data_blob_::length・ndr_print::print.
00741 { 00742 ndr->print(ndr, "%-25s: DATA_BLOB length=%u", name, r.length); 00743 if (r.length) { 00744 dump_data(10, (const char *)r.data, r.length); 00745 } 00746 }
ndr_basic.c の 752 行で定義されています。
参照先 data_blob_::data・data_blob_clear()・ndr_push::flags・data_blob_::length・ndr_push_bytes()・ndr_push_uint32().
00753 { 00754 if (ndr->flags & LIBNDR_ALIGN_FLAGS) { 00755 if (ndr->flags & LIBNDR_FLAG_ALIGN2) { 00756 blob.length = NDR_ALIGN(ndr, 2); 00757 } else if (ndr->flags & LIBNDR_FLAG_ALIGN4) { 00758 blob.length = NDR_ALIGN(ndr, 4); 00759 } else if (ndr->flags & LIBNDR_FLAG_ALIGN8) { 00760 blob.length = NDR_ALIGN(ndr, 8); 00761 } 00762 NDR_PUSH_ALLOC_SIZE(ndr, blob.data, blob.length); 00763 data_blob_clear(&blob); 00764 } else if (!(ndr->flags & LIBNDR_FLAG_REMAINING)) { 00765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, blob.length)); 00766 } 00767 NDR_CHECK(ndr_push_bytes(ndr, blob.data, blob.length)); 00768 return NT_STATUS_OK; 00769 }
ndr_basic.c の 774 行で定義されています。
参照先 ndr_pull::current_mem_ctx・ndr_pull::data・data_blob_talloc()・ndr_pull::data_size・ndr_pull::flags・ndr_pull_uint32()・ndr_pull::offset.
00775 { 00776 uint32_t length = 0; 00777 00778 if (ndr->flags & LIBNDR_ALIGN_FLAGS) { 00779 if (ndr->flags & LIBNDR_FLAG_ALIGN2) { 00780 length = NDR_ALIGN(ndr, 2); 00781 } else if (ndr->flags & LIBNDR_FLAG_ALIGN4) { 00782 length = NDR_ALIGN(ndr, 4); 00783 } else if (ndr->flags & LIBNDR_FLAG_ALIGN8) { 00784 length = NDR_ALIGN(ndr, 8); 00785 } 00786 if (ndr->data_size - ndr->offset < length) { 00787 length = ndr->data_size - ndr->offset; 00788 } 00789 } else if (ndr->flags & LIBNDR_FLAG_REMAINING) { 00790 length = ndr->data_size - ndr->offset; 00791 } else { 00792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &length)); 00793 } 00794 NDR_PULL_NEED_BYTES(ndr, length); 00795 *blob = data_blob_talloc(ndr->current_mem_ctx, ndr->data+ndr->offset, length); 00796 ndr->offset += length; 00797 return NT_STATUS_OK; 00798 }
uint32_t ndr_size_DATA_BLOB | ( | int | ret, | |
const DATA_BLOB * | data, | |||
int | flags | |||
) |