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

📄 ndr_spoolss_buf.c

📁 samba最新软件
💻 C
📖 第 1 页 / 共 2 页
字号:
	},{		_r.in.server		= r->in.server;		_r.in.environment	= r->in.environment;	});	return NDR_ERR_SUCCESS;}uint32_t ndr_size_spoolss_EnumPrinterDrivers_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_DriverInfo *info){	NDR_SPOOLSS_SIZE_ENUM(spoolss_EnumPrinterDrivers);}/*  spoolss_EnumForms*/enum ndr_err_code ndr_push_spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct spoolss_EnumForms *r){	NDR_SPOOLSS_PUSH_ENUM(spoolss_EnumForms,{		_r.in.handle	= r->in.handle;	},{		_r.in.handle	= r->in.handle;	});	return NDR_ERR_SUCCESS;}enum ndr_err_code ndr_pull_spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct spoolss_EnumForms *r){	NDR_SPOOLSS_PULL_ENUM(spoolss_EnumForms,{		r->in.handle	= _r.in.handle;	},{		_r.in.handle	= r->in.handle;	});	return NDR_ERR_SUCCESS;}uint32_t ndr_size_spoolss_EnumForms_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_FormInfo *info){	NDR_SPOOLSS_SIZE_ENUM(spoolss_EnumForms);}/*  spoolss_EnumPorts*/enum ndr_err_code ndr_push_spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct spoolss_EnumPorts *r){	NDR_SPOOLSS_PUSH_ENUM(spoolss_EnumPorts,{		_r.in.servername= r->in.servername;	},{		_r.in.servername= r->in.servername;	});	return NDR_ERR_SUCCESS;}enum ndr_err_code ndr_pull_spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct spoolss_EnumPorts *r){	NDR_SPOOLSS_PULL_ENUM(spoolss_EnumPorts,{		r->in.servername= _r.in.servername;	},{		_r.in.servername= r->in.servername;	});	return NDR_ERR_SUCCESS;}uint32_t ndr_size_spoolss_EnumPorts_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PortInfo *info){	NDR_SPOOLSS_SIZE_ENUM(spoolss_EnumPorts);}/*  spoolss_EnumMonitors*/enum ndr_err_code ndr_push_spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct spoolss_EnumMonitors *r){	NDR_SPOOLSS_PUSH_ENUM(spoolss_EnumMonitors,{		_r.in.servername= r->in.servername;	},{		_r.in.servername= r->in.servername;	});	return NDR_ERR_SUCCESS;}enum ndr_err_code ndr_pull_spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct spoolss_EnumMonitors *r){	NDR_SPOOLSS_PULL_ENUM(spoolss_EnumMonitors,{		r->in.servername= _r.in.servername;	},{		_r.in.servername= r->in.servername;	});	return NDR_ERR_SUCCESS;}uint32_t ndr_size_spoolss_EnumMonitors_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_MonitorInfo *info){	NDR_SPOOLSS_SIZE_ENUM(spoolss_EnumMonitors);}/*  spoolss_EnumPrintProcessors*/enum ndr_err_code ndr_push_spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrintProcessors *r){	NDR_SPOOLSS_PUSH_ENUM(spoolss_EnumPrintProcessors,{		_r.in.servername	= r->in.servername;		_r.in.environment	= r->in.environment;	},{		_r.in.servername	= r->in.servername;		_r.in.environment	= r->in.environment;	});	return NDR_ERR_SUCCESS;}enum ndr_err_code ndr_pull_spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrintProcessors *r){	NDR_SPOOLSS_PULL_ENUM(spoolss_EnumPrintProcessors,{		r->in.servername	= _r.in.servername;		r->in.environment	= _r.in.environment;	},{		_r.in.servername	= r->in.servername;		_r.in.environment	= r->in.environment;	});	return NDR_ERR_SUCCESS;}uint32_t ndr_size_spoolss_EnumPrinterProcessors_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PrintProcessorInfo *info){	NDR_SPOOLSS_SIZE_ENUM(spoolss_EnumPrintProcessors);}/*  spoolss_GetPrinterData*/enum ndr_err_code ndr_push_spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterData *r){	struct _spoolss_GetPrinterData _r;	if (flags & NDR_IN) {		_r.in.handle	= r->in.handle;		_r.in.value_name= r->in.value_name;		_r.in.offered	= r->in.offered;		NDR_CHECK(ndr_push__spoolss_GetPrinterData(ndr, flags, &_r));	}	if (flags & NDR_OUT) {		struct ndr_push *_ndr_info;		_r.in.handle	= r->in.handle;		_r.in.value_name= r->in.value_name;		_r.in.offered	= r->in.offered;		_r.out.type	= r->out.type;		_r.out.data	= data_blob(NULL, 0);		_r.out.needed	= r->out.needed;		_r.out.result	= r->out.result;		{			struct __spoolss_GetPrinterData __r;			_ndr_info = ndr_push_init_ctx(ndr, ndr->iconv_convenience);			NDR_ERR_HAVE_NO_MEMORY(_ndr_info);			_ndr_info->flags= ndr->flags;			__r.in.type	= r->out.type;			__r.out.data	= r->out.data;			NDR_CHECK(ndr_push___spoolss_GetPrinterData(_ndr_info, flags, &__r));			if (r->in.offered > _ndr_info->offset) {				uint32_t _padding_len = r->in.offered - _ndr_info->offset;				NDR_CHECK(ndr_push_zero(_ndr_info, _padding_len));			}			_r.out.data = ndr_push_blob(_ndr_info);		}		NDR_CHECK(ndr_push__spoolss_GetPrinterData(ndr, flags, &_r));	}	return NDR_ERR_SUCCESS;}enum ndr_err_code ndr_pull_spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterData *r){	struct _spoolss_GetPrinterData _r;	if (flags & NDR_IN) {		ZERO_STRUCT(r->out);		_r.in.handle	= r->in.handle;		_r.in.value_name= r->in.value_name;		_r.in.offered	= r->in.offered;		_r.out.type	= r->out.type;		_r.out.data	= data_blob(NULL,0),		_r.out.needed	= r->out.needed;		NDR_CHECK(ndr_pull__spoolss_GetPrinterData(ndr, flags, &_r));		r->in.handle	= _r.in.handle;		r->in.value_name= _r.in.value_name;		r->in.offered	= _r.in.offered;		r->out.needed	= _r.out.needed;	}	if (flags & NDR_OUT) {		_r.in.handle	= r->in.handle;		_r.in.value_name= r->in.value_name;		_r.in.offered	= r->in.offered;		_r.out.type	= r->out.type;		_r.out.data	= data_blob(NULL,0),		_r.out.needed	= r->out.needed;		_r.out.result	= r->out.result;		NDR_CHECK(ndr_pull__spoolss_GetPrinterData(ndr, flags, &_r));		r->out.type	= _r.out.type;		ZERO_STRUCT(r->out.data);		r->out.needed	= _r.out.needed;		r->out.result	= _r.out.result;		if (_r.out.data.length != r->in.offered) {			return ndr_pull_error(ndr, NDR_ERR_BUFSIZE,				"SPOOLSS Buffer: r->in.offered[%u] doesn't match length of out buffer[%u]",				(unsigned)r->in.offered, (unsigned)_r.out.data.length);		}		if (_r.out.data.length > 0 && r->out.needed <= _r.out.data.length) {			struct __spoolss_GetPrinterData __r;			struct ndr_pull *_ndr_data = ndr_pull_init_blob(&_r.out.data, ndr, ndr->iconv_convenience);			NDR_ERR_HAVE_NO_MEMORY(_ndr_data);			_ndr_data->flags= ndr->flags;			__r.in.type	= r->out.type;			__r.out.data	= r->out.data;			NDR_CHECK(ndr_pull___spoolss_GetPrinterData(_ndr_data, flags, &__r));			r->out.data	= __r.out.data;		} else {			r->out.type	= SPOOLSS_PRINTER_DATA_TYPE_NULL;		}	}	return NDR_ERR_SUCCESS;}/*  spoolss_SetPrinterData*/enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r){	struct _spoolss_SetPrinterData _r;	if (flags & NDR_IN) {		struct ndr_push *_ndr_data;		struct __spoolss_SetPrinterData __r;		DATA_BLOB _data_blob_data;		_ndr_data = ndr_push_init_ctx(ndr, ndr->iconv_convenience);		NDR_ERR_HAVE_NO_MEMORY(_ndr_data);		_ndr_data->flags= ndr->flags;		__r.in.type	= r->in.type;		__r.out.data	= r->in.data;		NDR_CHECK(ndr_push___spoolss_SetPrinterData(_ndr_data, NDR_OUT, &__r));		_data_blob_data = ndr_push_blob(_ndr_data);		_r.in.handle	= r->in.handle;		_r.in.value_name= r->in.value_name;		_r.in.type	= r->in.type;		_r.in.data	= _data_blob_data;		_r.in._offered	= _data_blob_data.length;		_r.out.result	= r->out.result;		NDR_CHECK(ndr_push__spoolss_SetPrinterData(ndr, flags, &_r));	}	if (flags & NDR_OUT) {		_r.in.handle	= r->in.handle;		_r.in.value_name= r->in.value_name;		_r.in.type	= r->in.type;		_r.in.data	= data_blob(NULL,0),		_r.in._offered	= r->in._offered;		_r.out.result	= r->out.result;		NDR_CHECK(ndr_push__spoolss_SetPrinterData(ndr, flags, &_r));	}	return NDR_ERR_SUCCESS;}uint32_t _ndr_size_spoolss_DeviceMode(struct spoolss_DeviceMode *devmode, uint32_t flags){	if (!devmode) return 0;	return ndr_size_spoolss_DeviceMode(devmode,flags);}

⌨️ 快捷键说明

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