srv_wkssvc.c

来自「samba服务器!」· C语言 代码 · 共 2,074 行 · 第 1/4 页

C
2,074
字号
		r.out.result = _WKSSVC_NETRWKSTATRANSPORTDEL(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRWKSTATRANSPORTDEL, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRWKSTATRANSPORTDEL(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRUSEADD(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRUSEADD r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRUSEADD");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRUSEADD(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRUSEADD, &r);		r.out.result = _WKSSVC_NETRUSEADD(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRUSEADD, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRUSEADD(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRUSEGETINFO(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRUSEGETINFO r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRUSEGETINFO");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRUSEGETINFO(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRUSEGETINFO, &r);		r.out.result = _WKSSVC_NETRUSEGETINFO(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRUSEGETINFO, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRUSEGETINFO(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRUSEDEL(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRUSEDEL r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRUSEDEL");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRUSEDEL(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRUSEDEL, &r);		r.out.result = _WKSSVC_NETRUSEDEL(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRUSEDEL, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRUSEDEL(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRUSEENUM(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRUSEENUM r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRUSEENUM");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRUSEENUM(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRUSEENUM, &r);		r.out.result = _WKSSVC_NETRUSEENUM(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRUSEENUM, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRUSEENUM(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRMESSAGEBUFFERSEND(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRMESSAGEBUFFERSEND r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRMESSAGEBUFFERSEND");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRMESSAGEBUFFERSEND(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRMESSAGEBUFFERSEND, &r);		r.out.result = _WKSSVC_NETRMESSAGEBUFFERSEND(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRMESSAGEBUFFERSEND, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRMESSAGEBUFFERSEND(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRWORKSTATIONSTATISTICSGET(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRWORKSTATIONSTATISTICSGET r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRWORKSTATIONSTATISTICSGET");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRWORKSTATIONSTATISTICSGET(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRWORKSTATIONSTATISTICSGET, &r);		r.out.result = _WKSSVC_NETRWORKSTATIONSTATISTICSGET(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRWORKSTATIONSTATISTICSGET, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRWORKSTATIONSTATISTICSGET(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRLOGONDOMAINNAMEADD(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRLOGONDOMAINNAMEADD r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRLOGONDOMAINNAMEADD");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRLOGONDOMAINNAMEADD(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRLOGONDOMAINNAMEADD, &r);		r.out.result = _WKSSVC_NETRLOGONDOMAINNAMEADD(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_OUT_DEBUG(WKSSVC_NETRLOGONDOMAINNAMEADD, &r);		push = ndr_push_init_ctx(mem_ctx);	if (push == NULL) {		talloc_free(mem_ctx);		return False;	}		status = ndr_push_WKSSVC_NETRLOGONDOMAINNAMEADD(push, NDR_OUT, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		blob = ndr_push_blob(push);	if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {		talloc_free(mem_ctx);		return False;	}		talloc_free(mem_ctx);		return True;}static BOOL api_WKSSVC_NETRLOGONDOMAINNAMEDEL(pipes_struct *p){	struct ndr_pull *pull;	struct ndr_push *push;	NTSTATUS status;	DATA_BLOB blob;	struct WKSSVC_NETRLOGONDOMAINNAMEDEL r;	TALLOC_CTX *mem_ctx = talloc_init("api_WKSSVC_NETRLOGONDOMAINNAMEDEL");		if (!prs_data_blob(&p->in_data.data, &blob, mem_ctx)) {		talloc_free(mem_ctx);		return False;	}		pull = ndr_pull_init_blob(&blob, mem_ctx);	if (pull == NULL) {		talloc_free(mem_ctx);		return False;	}		pull->flags |= LIBNDR_FLAG_REF_ALLOC;	status = ndr_pull_WKSSVC_NETRLOGONDOMAINNAMEDEL(pull, NDR_IN, &r);	if (NT_STATUS_IS_ERR(status)) {		talloc_free(mem_ctx);		return False;	}		if (DEBUGLEVEL >= 10)		NDR_PRINT_IN_DEBUG(WKSSVC_NETRLOGONDOMAINNAMEDEL, &r);		r.out.result = _WKSSVC_NETRLOGONDOMAINNAMEDEL(p, &r);		if (p->rng_fault_state) {		talloc_free(mem_ctx);		/* Return True here, srv_pipe_hnd.c will take care */		return True;

⌨️ 快捷键说明

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