Home
last modified time | relevance | path

Searched refs:ndr (Results 1 – 25 of 1254) sorted by relevance

12345678910>>...51

/dports/net/samba412/samba-4.12.15/librpc/ndr/
H A Dndr_basic.c29 #define NDR_SVAL(ndr, ofs) (NDR_BE(ndr)?RSVAL(ndr->data,ofs):SVAL(ndr->data,ofs)) argument
30 #define NDR_IVAL(ndr, ofs) (NDR_BE(ndr)?RIVAL(ndr->data,ofs):IVAL(ndr->data,ofs)) argument
31 #define NDR_IVALS(ndr, ofs) (NDR_BE(ndr)?RIVALS(ndr->data,ofs):IVALS(ndr->data,ofs)) argument
82 *v = CVAL(ndr->data, ndr->offset); in ndr_pull_uint8()
108 *v = NDR_SVAL(ndr, ndr->offset); in ndr_pull_uint16()
140 *v = NDR_IVALS(ndr, ndr->offset); in ndr_pull_int32()
153 *v = NDR_IVAL(ndr, ndr->offset); in ndr_pull_uint32()
240 *v = NDR_IVAL(ndr, ndr->offset); in ndr_pull_udlong()
1195 ndr->print(ndr, "%-25s: %s", name, nt_time_string(ndr, t)); in ndr_print_NTTIME()
1216 ndr->print(ndr, "%-25s: %s", name, timestring(ndr, t)); in ndr_print_time_t()
[all …]
H A Dndr.c125 b = data_blob_talloc(ndr, ndr->data, ndr->data_size); in ndr_pull_append()
139 return ndr_token_store(ndr, &ndr->array_size_list, ndr, UINT32_MAX); in ndr_pull_append()
187 memmove(ndr->data, ndr->data + skip, ndr->data_size); in ndr_pull_pop()
189 ndr->data = talloc_realloc(ndr, ndr->data, uint8_t, ndr->data_size); in ndr_pull_pop()
203 if (ndr->offset > ndr->data_size) { in ndr_pull_advance()
217 if (ndr->offset > ndr->data_size) { in ndr_pull_set_offset()
237 ndr->data = talloc_array(ndr, uint8_t, ndr->alloc_size); in ndr_push_init_ctx()
251 if (ndr->alloc_size > ndr->offset) { in ndr_push_blob()
252 ndr->data[ndr->offset] = 0; in ndr_push_blob()
290 ndr->data = talloc_realloc(ndr, ndr->data, uint8_t, ndr->alloc_size); in ndr_push_expand()
[all …]
H A Dndr_negoex.c30 ndr->depth++; in ndr_print_negoex_BYTE_VECTOR()
95 if (ndr->offset > ndr->relative_highest_offset) { in ndr_pull_negoex_BYTE_VECTOR()
96 ndr->relative_highest_offset = ndr->offset; in ndr_pull_negoex_BYTE_VECTOR()
176 ndr->relative_highest_offset = ndr->offset; in ndr_pull_negoex_AUTH_SCHEME_VECTOR()
262 ndr->relative_highest_offset = ndr->offset; in ndr_pull_negoex_EXTENSION_VECTOR()
348 ndr->relative_highest_offset = ndr->offset; in ndr_pull_negoex_ALERT_VECTOR()
424 ndr->offset = ndr->relative_base_offset; in ndr_pull_negoex_MESSAGE()
432 ndr->offset = ndr->data_size; in ndr_pull_negoex_MESSAGE()
438 ndr->offset = ndr->relative_base_offset; in ndr_pull_negoex_MESSAGE()
444 ndr->offset = ndr->data_size; in ndr_pull_negoex_MESSAGE()
[all …]
H A Dndr_nbt.c57 len = ndr->data[*offset]; in ndr_pull_component()
86 ndr->current_mem_ctx, in ndr_pull_component()
136 ndr->offset = max_offset; in ndr_pull_nbt_string()
147 &ndr->dns_string_list, in ndr_push_nbt_string()
179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags))); in ndr_push_NETLOGON_SAM_LOGON_REQUEST()
359 if (ndr->data_size < 8) { in ndr_pull_netlogon_samlogon_response()
364 if (SVAL(ndr->data, ndr->data_size - 4) != 0xffff) { in ndr_pull_netlogon_samlogon_response()
368 if (SVAL(ndr->data, ndr->data_size - 2) != 0xffff) { in ndr_pull_netlogon_samlogon_response()
372 r->ntver = IVAL(ndr->data, ndr->data_size - 8); in ndr_pull_netlogon_samlogon_response()
380 if (ndr->offset < ndr->data_size) { in ndr_pull_netlogon_samlogon_response()
[all …]
H A Dndr_spoolss_buf.c1052 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1070 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1098 if (ndr->offset > ndr->relative_highest_offset) { in ndr_pull_spoolss_DriverInfo101()
1099 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1115 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1133 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1151 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1169 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1187 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
1205 ndr->relative_highest_offset = ndr->offset; in ndr_pull_spoolss_DriverInfo101()
[all …]
H A Dndr_drsuapi.c36 ndr->depth++; in ndr_print_drsuapi_DsReplicaObjectListItem()
39 ndr->depth--; in ndr_print_drsuapi_DsReplicaObjectListItem()
48 ndr->depth++; in ndr_print_drsuapi_DsReplicaObjectListItemEx()
53 ndr->depth++; in ndr_print_drsuapi_DsReplicaObjectListItemEx()
57 ndr->depth--; in ndr_print_drsuapi_DsReplicaObjectListItemEx()
59 ndr->depth++; in ndr_print_drsuapi_DsReplicaObjectListItemEx()
63 ndr->depth--; in ndr_print_drsuapi_DsReplicaObjectListItemEx()
64 ndr->depth--; in ndr_print_drsuapi_DsReplicaObjectListItemEx()
75 ndr->print(ndr, "%-25s: length=%u", "oid", r->length); in ndr_print_drsuapi_DsReplicaOID()
423 ndr->flags = ndr->flags & ~LIBNDR_FLAG_NDR64; in ndr_push_drsuapi_DsBindInfo()
[all …]
H A Dndr_dns.c48 ndr_print_string(ndr, name, s);
66 len = ndr->data[*offset];
118 uint32_t offset = ndr->offset;
151 ndr->offset = max_offset;
164 &ndr->dns_string_list,
181 ndr->data_size = ndr->offset + record_size;
186 ndr->data_size = data_size;
287 NDR_CHECK(ndr_token_store(ndr, &ndr->array_size_list,
307 ndr->data +
308 ndr->offset,
[all …]
H A Dndr_string.c128 conv_src_len = ascii_len_n((const char *)(ndr->data+ndr->offset), ndr->data_size - ndr->offset); in ndr_pull_string()
131 conv_src_len = utf16_len_n(ndr->data+ndr->offset, ndr->data_size - ndr->offset); in ndr_pull_string()
141 conv_src_len = ndr->data_size - ndr->offset; in ndr_pull_string()
165 CH_UNIX, ndr->data + ndr->offset, in ndr_pull_string()
338 ndr->print(ndr, "%-25s: '%s'", name, s); in ndr_print_string()
340 ndr->print(ndr, "%-25s: NULL", name); in ndr_print_string()
383 if ((ndr->data_size - ndr->offset) == 0 && ndr->flags & LIBNDR_FLAG_REMAINING) in ndr_pull_string_array()
508 ndr->print(ndr, "%s: ARRAY(%d)", name, count); in ndr_print_string_array()
614 if (ndr->data[ndr->offset+i] != 0) { in ndr_check_string_terminator()
645 ndr->data+ndr->offset, length*byte_mul, in ndr_pull_charset()
[all …]
H A Dndr_backupkey.c56 ndr->depth++; in ndr_print_bkrp_BackupKey()
69 ndr->depth++; in ndr_print_bkrp_BackupKey()
71 ndr->depth++; in ndr_print_bkrp_BackupKey()
73 ndr->depth--; in ndr_print_bkrp_BackupKey()
87 ndr->depth++; in ndr_print_bkrp_BackupKey()
93 ndr->depth--; in ndr_print_bkrp_BackupKey()
97 ndr->depth--; in ndr_print_bkrp_BackupKey()
101 ndr->depth++; in ndr_print_bkrp_BackupKey()
103 ndr->depth++; in ndr_print_bkrp_BackupKey()
105 ndr->depth++; in ndr_print_bkrp_BackupKey()
[all …]
H A Dndr_drsblobs.c48 while (ndr->offset + 16 <= ndr->data_size) { in ndr_pull_AuthenticationInformationArray()
100 offset = ndr->offset; in ndr_pull_trustDomainPasswords()
101 ndr->offset = ndr->data_size - 8; in ndr_pull_trustDomainPasswords()
134 ndr->depth++; in ndr_print_drsuapi_MSPrefixMap_Entry()
136 ndr->print(ndr, "%-25s: length=%u", "oid", r->length); in ndr_print_drsuapi_MSPrefixMap_Entry()
142 ndr->depth++; in ndr_print_drsuapi_MSPrefixMap_Entry()
144 ndr->depth--; in ndr_print_drsuapi_MSPrefixMap_Entry()
148 ndr->depth--; in ndr_print_drsuapi_MSPrefixMap_Entry()
189 remaining = ndr->data_size - ndr->offset; in ndr_pull_supplementalCredentialsSubBlob()
195 remaining = ndr->data_size - ndr->offset; in ndr_pull_supplementalCredentialsSubBlob()
[all …]
H A Dndr_dcerpc.c29 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags); in ndr_push_ncacn_packet()
31 NDR_CHECK(ndr_push_align(ndr, 4)); in ndr_push_ncacn_packet()
60 NDR_CHECK(ndr_pull_align(ndr, 4)); in ndr_pull_ncacn_packet()
89 ndr->depth++; in ndr_print_ncacn_packet()
106 ndr->depth--; in ndr_print_ncacn_packet()
125 _available = ndr->data_size - ndr->offset; in ndr_pull_dcerpc_bind_nak()
169 uint32_t _saved_ofs = ndr->offset; in ndr_pull_dcerpc_sec_vt_count()
194 ndr->offset = _saved_ofs; in ndr_pull_dcerpc_sec_vt_count()
241 ret = memcmp(&ndr->data[ofs], in ndr_pop_dcerpc_sec_verification_trailer()
246 ndr->data_size - ofs); in ndr_pop_dcerpc_sec_verification_trailer()
[all …]
H A Dlibndr.h227 (unlikely(((ndr)->flags & LIBNDR_FLAG_IS_SECRET) && !(ndr)->print_secrets))
312 if (unlikely((n) > ndr->data_size || ndr->offset + (n) > ndr->data_size)) { \
314 uint32_t _available = ndr->data_size - ndr->offset; \
322 #define NDR_ALIGN(ndr, n) ndr_align_size(ndr->offset, n) argument
331 ndr->offset = (ndr->offset + (n-1)) & ~(n-1); \
333 if (unlikely(ndr->offset > ndr->data_size)) { \
335 uint32_t _missing = ndr->offset - ndr->data_size; \
342 #define NDR_PUSH_NEED_BYTES(ndr, n) NDR_CHECK(ndr_push_expand(ndr, n)) argument
346 uint32_t _pad = ((ndr->offset + (n-1)) & ~(n-1)) - ndr->offset; \
371 #define NDR_PULL_GET_MEM_CTX(ndr) (ndr->current_mem_ctx) argument
[all …]
H A Dndr_cab.c135 NDR_CHECK(ndr_push_compression_state_init(ndr, ndr_ctype, &ndr->cstate)); in ndr_push_folder_cfdata()
159 csum_offset = ndr->offset; in ndr_push_folder_cfdata()
171 data_offset = ndr->offset; in ndr_push_folder_cfdata()
240 ndr->cstate = NULL; in ndr_push_folder_cfdata()
276 if (off >= ndr->offset) { in ndr_push_cab_file()
280 SIVAL(ndr->data, off, ndr->offset); in ndr_push_cab_file()
293 SIVAL(ndr->data, 8, ndr->offset); in ndr_push_cab_file()
331 ndr->data+ndr->offset, in ndr_pull_folder_cfdata()
344 ndr->data+ndr->offset, in ndr_pull_folder_cfdata()
350 ndr->offset += r->cbData; in ndr_pull_folder_cfdata()
[all …]
H A Dndr_dnsp.c31 ndr->print(ndr, "%-25s: %s", name, dns_name); in ndr_print_dnsp_name()
47 raw_offset = ndr->offset; in ndr_pull_dnsp_name()
66 ndr, NDR_ERR_RANGE, in ndr_pull_dnsp_name()
148 ndr->print(ndr, "%-25s: %s", name, dns_string); in ndr_print_dnsp_string()
168 NDR_PULL_ALIGN(ndr, 1); in ndr_pull_dnsp_string()
194 ndr->no_newline = true; in ndr_print_dnsp_string_list()
196 ndr->print(ndr, " "); in ndr_print_dnsp_string_list()
198 ndr->print(ndr, "%-25s:", name); in ndr_print_dnsp_string_list()
200 ndr->print(ndr, " \"%s\"", list->str[i]); in ndr_print_dnsp_string_list()
202 ndr->print(ndr, "\n"); in ndr_print_dnsp_string_list()
[all …]
H A Dndr_orpc.c91 ndr->print(ndr, "%-25s: DUALSTRINGARRAY", name); in ndr_print_DUALSTRINGARRAY()
92 ndr->depth++; in ndr_print_DUALSTRINGARRAY()
93 ndr->print(ndr, "STRING BINDINGS"); in ndr_print_DUALSTRINGARRAY()
94 ndr->depth++; in ndr_print_DUALSTRINGARRAY()
100 ndr->depth--; in ndr_print_DUALSTRINGARRAY()
101 ndr->print(ndr, "SECURITY BINDINGS"); in ndr_print_DUALSTRINGARRAY()
102 ndr->depth++; in ndr_print_DUALSTRINGARRAY()
108 ndr->depth--; in ndr_print_DUALSTRINGARRAY()
155 ndr->print(ndr, "%-25s: STRINGARRAY", name); in ndr_print_STRINGARRAY()
156 ndr->depth++; in ndr_print_STRINGARRAY()
[all …]
H A Dndr_witness.c29 uint32_t _flags_save_STRUCT = ndr->flags; in ndr_push_witness_notifyResponse()
31 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags); in ndr_push_witness_notifyResponse()
33 NDR_CHECK(ndr_push_align(ndr, 4)); in ndr_push_witness_notifyResponse()
35 … NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_witness_notifyResponse(r, ndr->flags) - 20)); in ndr_push_witness_notifyResponse()
48 …NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_messages, 4, ndr_size_witness_notifyResponse(r, ndr->f… in ndr_push_witness_notifyResponse()
56 ndr->flags = _flags_save_STRUCT; in ndr_push_witness_notifyResponse()
63 uint32_t _flags_save_STRUCT = ndr->flags; in ndr_pull_witness_notifyResponse()
65 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags); in ndr_pull_witness_notifyResponse()
67 NDR_CHECK(ndr_pull_align(ndr, 4)); in ndr_pull_witness_notifyResponse()
77 NDR_PULL_ALLOC(ndr, r->messages); in ndr_pull_witness_notifyResponse()
[all …]
/dports/net-mgmt/wmi-client/wmi-1.3.16/Samba/source/librpc/ndr/
H A Dndr_basic.c27 #define NDR_SVAL(ndr, ofs) (NDR_BE(ndr)?RSVAL(ndr->data,ofs):SVAL(ndr->data,ofs)) argument
28 #define NDR_IVAL(ndr, ofs) (NDR_BE(ndr)?RIVAL(ndr->data,ofs):IVAL(ndr->data,ofs)) argument
29 #define NDR_IVALS(ndr, ofs) (NDR_BE(ndr)?RIVALS(ndr->data,ofs):IVALS(ndr->data,ofs)) argument
76 *v = CVAL(ndr->data, ndr->offset); in ndr_pull_uint8()
100 *v = NDR_SVAL(ndr, ndr->offset); in ndr_pull_uint16()
112 *v = NDR_IVALS(ndr, ndr->offset); in ndr_pull_int32()
124 *v = NDR_IVAL(ndr, ndr->offset); in ndr_pull_uint32()
160 *v = NDR_IVAL(ndr, ndr->offset); in ndr_pull_udlong()
321 NDR_SSVAL(ndr, ndr->offset, v); in ndr_push_uint16()
720 ndr->print(ndr, "%-25s: %s", name, nt_time_string(ndr, t)); in ndr_print_NTTIME()
[all …]
H A Dndr.c80 if (ndr->offset > ndr->data_size) { in ndr_pull_advance()
94 if (ndr->offset > ndr->data_size) { in ndr_pull_set_offset()
129 ndr->data = talloc_array(ndr, uint8_t, ndr->alloc_size); in ndr_push_init_ctx()
157 if (ndr->alloc_size > ndr->offset) { in ndr_push_blob()
158 ndr->data[ndr->offset] = 0; in ndr_push_blob()
177 ndr->data = talloc_realloc(ndr, ndr->data, uint8_t, ndr->alloc_size); in ndr_push_expand()
278 ndr->private_data = talloc_strdup(ndr, ""); in ndr_print_struct_string()
477 subndr->data = ndr->data + ndr->offset; in ndr_pull_subcontext_start()
752 if (ndr->offset != ndr->data_size) { in ndr_pull_struct_blob_all()
774 if (ndr->offset != ndr->data_size) { in ndr_pull_union_blob()
[all …]
H A Dndr_dcom.c89 ndr->print(ndr, "%-25s: BSTR(\"%s\")", name, *r); in ndr_print_BSTR()
100 u = ndr->flags; in ndr_push_CIMSTRING()
104 ndr->flags = u; in ndr_push_CIMSTRING()
118 u = ndr->flags; in ndr_pull_CIMSTRING()
137 ndr->print(ndr, "%-25s: \"%s\"", name, *r); in ndr_print_CIMSTRING()
357 ndr->relative_base_offset = ndr->offset; in ndr_push_DataWithStack()
389 ndr->data_size = ndr->offset + ssize; in ndr_pull_DataWithStack()
391 ndr->relative_base_offset = ndr->offset; in ndr_pull_DataWithStack()
541 ndr->depth++; in ndr_print_WbemInstance_priv()
543 ndr->print(ndr, "%s[%d]", "data", i); in ndr_print_WbemInstance_priv()
[all …]
H A Dndr_string.c87 ndr->data+ndr->offset, in ndr_pull_string()
124 ndr->data+ndr->offset, in ndr_pull_string()
162 ndr->data+ndr->offset, in ndr_pull_string()
196 ndr->data+ndr->offset, in ndr_pull_string()
228 ndr->data+ndr->offset, in ndr_pull_string()
242 len1 = ascii_len_n((const char *)(ndr->data+ndr->offset), ndr->data_size - ndr->offset); in ndr_pull_string()
244 len1 = utf16_len_n(ndr->data+ndr->offset, ndr->data_size - ndr->offset); in ndr_pull_string()
248 ndr->data+ndr->offset, in ndr_pull_string()
265 ndr->data+ndr->offset, in ndr_pull_string()
436 ndr->print(ndr, "%-25s: NULL", name); in ndr_print_string()
[all …]
H A Dndr_krb5pac.c47 NDR_CHECK(ndr_push_align(ndr, 4)); in ndr_push_PAC_BUFFER()
54 ndr->flags = _flags_save_PAC_INFO; in ndr_push_PAC_BUFFER()
72 ndr->flags = _flags_save_PAC_INFO; in ndr_push_PAC_BUFFER()
83 NDR_CHECK(ndr_pull_align(ndr, 4)); in ndr_pull_PAC_BUFFER()
91 NDR_PULL_ALLOC(ndr, r->info); in ndr_pull_PAC_BUFFER()
96 ndr->flags = _flags_save_PAC_INFO; in ndr_pull_PAC_BUFFER()
120 ndr->flags = _flags_save_PAC_INFO; in ndr_pull_PAC_BUFFER()
129 ndr->depth++; in ndr_print_PAC_BUFFER()
133 ndr->depth++; in ndr_print_PAC_BUFFER()
138 ndr->depth--; in ndr_print_PAC_BUFFER()
[all …]
H A Dlibndr.h201 if ((n) > ndr->data_size || ndr->offset + (n) > ndr->data_size) { \
206 #define NDR_ALIGN(ndr, n) ndr_align_size(ndr->offset, n) argument
213 ndr_check_padding(ndr, n); \
215 ndr->offset = (ndr->offset + (n-1)) & ~(n-1); \
217 if (ndr->offset > ndr->data_size) { \
222 #define NDR_PUSH_NEED_BYTES(ndr, n) NDR_CHECK(ndr_push_expand(ndr, ndr->offset+(n))) argument
226 uint32_t _pad = ((ndr->offset + (n-1)) & ~(n-1)) - ndr->offset; \
256 #define NDR_PULL_GET_MEM_CTX(ndr) (ndr->current_mem_ctx) argument
268 if (!ndr->current_mem_ctx) {\
269 ndr->current_mem_ctx = talloc_new(ndr);\
[all …]
/dports/net/samba412/samba-4.12.15/source3/winbindd/
H A Dwinbindd_ndr.c38 ndr->depth++; in ndr_print_winbindd_child()
48 ndr_print_ptr(ndr, "table", r->table); in ndr_print_winbindd_child()
49 ndr->depth--; in ndr_print_winbindd_child()
60 ndr->depth++; in ndr_print_winbindd_cm_conn()
61 ndr_print_ptr(ndr, "cli", r->cli); in ndr_print_winbindd_cm_conn()
68 ndr->depth--; in ndr_print_winbindd_cm_conn()
88 ndr->depth++; in ndr_print_winbindd_methods()
92 ndr->depth--; in ndr_print_winbindd_methods()
113 ndr->depth--; in ndr_print_winbindd_methods()
129 ndr->depth++; in ndr_print_winbindd_domain()
[all …]
/dports/net/samba412/samba-4.12.15/source3/libads/
H A Dndr.c31 ndr->depth++; in ndr_print_ads_auth_flags()
41 ndr->depth--; in ndr_print_ads_auth_flags()
47 ndr->depth++; in ndr_print_ads_struct()
50 ndr->depth++; in ndr_print_ads_struct()
54 ndr->depth--; in ndr_print_ads_struct()
56 ndr->depth++; in ndr_print_ads_struct()
70 ndr->depth--; in ndr_print_ads_struct()
72 ndr->depth++; in ndr_print_ads_struct()
82 ndr->depth--; in ndr_print_ads_struct()
85 ndr->depth++; in ndr_print_ads_struct()
[all …]
/dports/dns/p5-Net-DRI/Net-DRI-0.96/lib/Net/DRI/
H A DDRD.pm104 my ($self,$ndr,$key)=@_;
105 $key=$ndr unless (defined($ndr) && $ndr && (ref($ndr) eq 'Net::DRI::Registry'));
114 …($domain,$strict)=($ndr,$domain) unless (defined($ndr) && $ndr && (ref($ndr) eq 'Net::DRI::Registr…
178 $type=$ndr unless (defined($type) && ref($ndr));
228 ($data,$dots)=($ndr,$data) unless (defined($ndr) && $ndr && (ref($ndr) eq 'Net::DRI::Registry'));
247 …($duration,$domain)=($ndr,$duration) unless (defined($ndr) && $ndr && (ref($ndr) eq 'Net::DRI::Reg…
258 …($duration,$domain,$curexp)=($ndr,$duration,$domain) unless (defined($ndr) && $ndr && (ref($ndr) e…
288 …($duration,$domain,$op)=($ndr,$duration,$domain) unless (defined($ndr) && $ndr && (ref($ndr) eq 'N…
780 my $ndr=shift;
1124 my ($self,$ndr)=@_;
[all …]

12345678910>>...51