⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ndr_wkssvc.c

📁 samba服务器!
💻 C
📖 第 1 页 / 共 5 页
字号:
					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1011_0, 0);				}			break;			case 1012:				if (r->info1012) {					_mem_save_info1012_0 = NDR_PULL_GET_MEM_CTX(ndr);					NDR_PULL_SET_MEM_CTX(ndr, r->info1012, 0);					NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1012(ndr, NDR_SCALARS, r->info1012));					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1012_0, 0);				}			break;			case 1013:				if (r->info1013) {					_mem_save_info1013_0 = NDR_PULL_GET_MEM_CTX(ndr);					NDR_PULL_SET_MEM_CTX(ndr, r->info1013, 0);					NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1013(ndr, NDR_SCALARS, r->info1013));					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1013_0, 0);				}			break;			case 1018:				if (r->info1018) {					_mem_save_info1018_0 = NDR_PULL_GET_MEM_CTX(ndr);					NDR_PULL_SET_MEM_CTX(ndr, r->info1018, 0);					NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1018(ndr, NDR_SCALARS, r->info1018));					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1018_0, 0);				}			break;			case 1023:				if (r->info1023) {					_mem_save_info1023_0 = NDR_PULL_GET_MEM_CTX(ndr);					NDR_PULL_SET_MEM_CTX(ndr, r->info1023, 0);					NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1023(ndr, NDR_SCALARS, r->info1023));					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1023_0, 0);				}			break;			case 1027:				if (r->info1027) {					_mem_save_info1027_0 = NDR_PULL_GET_MEM_CTX(ndr);					NDR_PULL_SET_MEM_CTX(ndr, r->info1027, 0);					NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1027(ndr, NDR_SCALARS, r->info1027));					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1027_0, 0);				}			break;			case 1033:				if (r->info1033) {					_mem_save_info1033_0 = NDR_PULL_GET_MEM_CTX(ndr);					NDR_PULL_SET_MEM_CTX(ndr, r->info1033, 0);					NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1033(ndr, NDR_SCALARS, r->info1033));					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1033_0, 0);				}			break;			default:			break;		}	}	return NT_STATUS_OK;}_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaInfo *r){	int level;	level = ndr_print_get_switch_value(ndr, r);	ndr_print_union(ndr, name, level, "wkssvc_NetWkstaInfo");	switch (level) {		case 100:			ndr_print_ptr(ndr, "info100", r->info100);			ndr->depth++;			if (r->info100) {				ndr_print_wkssvc_NetWkstaInfo100(ndr, "info100", r->info100);			}			ndr->depth--;		break;		case 101:			ndr_print_ptr(ndr, "info101", r->info101);			ndr->depth++;			if (r->info101) {				ndr_print_wkssvc_NetWkstaInfo101(ndr, "info101", r->info101);			}			ndr->depth--;		break;		case 102:			ndr_print_ptr(ndr, "info102", r->info102);			ndr->depth++;			if (r->info102) {				ndr_print_wkssvc_NetWkstaInfo102(ndr, "info102", r->info102);			}			ndr->depth--;		break;		case 502:			ndr_print_ptr(ndr, "info502", r->info502);			ndr->depth++;			if (r->info502) {				ndr_print_wkssvc_NetWkstaInfo502(ndr, "info502", r->info502);			}			ndr->depth--;		break;		case 1010:			ndr_print_ptr(ndr, "info1010", r->info1010);			ndr->depth++;			if (r->info1010) {				ndr_print_wkssvc_NetWkstaInfo1010(ndr, "info1010", r->info1010);			}			ndr->depth--;		break;		case 1011:			ndr_print_ptr(ndr, "info1011", r->info1011);			ndr->depth++;			if (r->info1011) {				ndr_print_wkssvc_NetWkstaInfo1011(ndr, "info1011", r->info1011);			}			ndr->depth--;		break;		case 1012:			ndr_print_ptr(ndr, "info1012", r->info1012);			ndr->depth++;			if (r->info1012) {				ndr_print_wkssvc_NetWkstaInfo1012(ndr, "info1012", r->info1012);			}			ndr->depth--;		break;		case 1013:			ndr_print_ptr(ndr, "info1013", r->info1013);			ndr->depth++;			if (r->info1013) {				ndr_print_wkssvc_NetWkstaInfo1013(ndr, "info1013", r->info1013);			}			ndr->depth--;		break;		case 1018:			ndr_print_ptr(ndr, "info1018", r->info1018);			ndr->depth++;			if (r->info1018) {				ndr_print_wkssvc_NetWkstaInfo1018(ndr, "info1018", r->info1018);			}			ndr->depth--;		break;		case 1023:			ndr_print_ptr(ndr, "info1023", r->info1023);			ndr->depth++;			if (r->info1023) {				ndr_print_wkssvc_NetWkstaInfo1023(ndr, "info1023", r->info1023);			}			ndr->depth--;		break;		case 1027:			ndr_print_ptr(ndr, "info1027", r->info1027);			ndr->depth++;			if (r->info1027) {				ndr_print_wkssvc_NetWkstaInfo1027(ndr, "info1027", r->info1027);			}			ndr->depth--;		break;		case 1033:			ndr_print_ptr(ndr, "info1033", r->info1033);			ndr->depth++;			if (r->info1033) {				ndr_print_wkssvc_NetWkstaInfo1033(ndr, "info1033", r->info1033);			}			ndr->depth--;		break;		default:		break;	}}NTSTATUS ndr_push_USER_INFO_0(struct ndr_push *ndr, int ndr_flags, const struct USER_INFO_0 *r){	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_push_align(ndr, 4));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->user) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}	}	return NT_STATUS_OK;}NTSTATUS ndr_pull_USER_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct USER_INFO_0 *r){	uint32_t _ptr_user;	TALLOC_CTX *_mem_save_user_0;	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_pull_align(ndr, 4));		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));		if (_ptr_user) {			NDR_PULL_ALLOC(ndr, r->user);		} else {			r->user = NULL;		}	}	if (ndr_flags & NDR_BUFFERS) {		if (r->user) {			_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->user));			NDR_CHECK(ndr_pull_array_length(ndr, &r->user));			if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);		}	}	return NT_STATUS_OK;}_PUBLIC_ void ndr_print_USER_INFO_0(struct ndr_print *ndr, const char *name, const struct USER_INFO_0 *r){	ndr_print_struct(ndr, name, "USER_INFO_0");	ndr->depth++;	ndr_print_ptr(ndr, "user", r->user);	ndr->depth++;	if (r->user) {		ndr_print_string(ndr, "user", r->user);	}	ndr->depth--;	ndr->depth--;}NTSTATUS ndr_push_USER_INFO_0_CONTAINER(struct ndr_push *ndr, int ndr_flags, const struct USER_INFO_0_CONTAINER *r){	uint32_t cntr_user0_1;	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_push_align(ndr, 4));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->user0));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->user0) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read));			for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {				NDR_CHECK(ndr_push_USER_INFO_0(ndr, NDR_SCALARS, &r->user0[cntr_user0_1]));			}			for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {				NDR_CHECK(ndr_push_USER_INFO_0(ndr, NDR_BUFFERS, &r->user0[cntr_user0_1]));			}		}	}	return NT_STATUS_OK;}NTSTATUS ndr_pull_USER_INFO_0_CONTAINER(struct ndr_pull *ndr, int ndr_flags, struct USER_INFO_0_CONTAINER *r){	uint32_t _ptr_user0;	uint32_t cntr_user0_1;	TALLOC_CTX *_mem_save_user0_0;	TALLOC_CTX *_mem_save_user0_1;	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_pull_align(ndr, 4));		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries_read));		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user0));		if (_ptr_user0) {			NDR_PULL_ALLOC(ndr, r->user0);		} else {			r->user0 = NULL;		}	}	if (ndr_flags & NDR_BUFFERS) {		if (r->user0) {			_mem_save_user0_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->user0));			NDR_PULL_ALLOC_N(ndr, r->user0, ndr_get_array_size(ndr, &r->user0));			_mem_save_user0_1 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0);			for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {				NDR_CHECK(ndr_pull_USER_INFO_0(ndr, NDR_SCALARS, &r->user0[cntr_user0_1]));			}			for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {				NDR_CHECK(ndr_pull_USER_INFO_0(ndr, NDR_BUFFERS, &r->user0[cntr_user0_1]));			}			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_1, 0);			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_0, 0);		}		if (r->user0) {			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->user0, r->entries_read));		}	}	return NT_STATUS_OK;}_PUBLIC_ void ndr_print_USER_INFO_0_CONTAINER(struct ndr_print *ndr, const char *name, const struct USER_INFO_0_CONTAINER *r){	uint32_t cntr_user0_1;	ndr_print_struct(ndr, name, "USER_INFO_0_CONTAINER");	ndr->depth++;	ndr_print_uint32(ndr, "entries_read", r->entries_read);	ndr_print_ptr(ndr, "user0", r->user0);	ndr->depth++;	if (r->user0) {		ndr->print(ndr, "%s: ARRAY(%d)", "user0", r->entries_read);		ndr->depth++;		for (cntr_user0_1=0;cntr_user0_1<r->entries_read;cntr_user0_1++) {			char *idx_1=NULL;			asprintf(&idx_1, "[%d]", cntr_user0_1);			if (idx_1) {				ndr_print_USER_INFO_0(ndr, "user0", &r->user0[cntr_user0_1]);				free(idx_1);			}		}		ndr->depth--;	}	ndr->depth--;	ndr->depth--;}NTSTATUS ndr_push_USER_INFO_1(struct ndr_push *ndr, int ndr_flags, const struct USER_INFO_1 *r){	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_push_align(ndr, 4));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_domain));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_domains));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_server));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->user_name) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->logon_domain) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->logon_domain, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->logon_domain, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->logon_domain, ndr_charset_length(r->logon_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->other_domains) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->other_domains, ndr_charset_length(r->other_domains, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->logon_server) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF16)));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -