1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

s4-rap: add rap print helpers.

Guenther
This commit is contained in:
Günther Deschner 2010-04-28 23:42:00 +02:00
parent 084c8065f8
commit f85a4ab778
5 changed files with 91 additions and 5 deletions

View File

@ -5,7 +5,8 @@
*/
[
pointer_default(unique)
pointer_default(unique),
helper("../librpc/ndr/ndr_rap.h")
]
interface rap
{
@ -541,7 +542,7 @@ interface rap
uint16 PrinterNameOffsetHigh;
} rap_PrintJobInfo3;
[public] void rap_NetPrintQEnum(
[public,noprint] void rap_NetPrintQEnum(
[in] uint16 level,
[in] uint16 bufsize,
[out] uint16 status,

64
librpc/ndr/ndr_rap.c Normal file
View File

@ -0,0 +1,64 @@
/*
Unix SMB/CIFS implementation.
routines for marshalling/unmarshalling special rap types
Copyright (C) Guenther Deschner 2010
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "includes.h"
#include "librpc/gen_ndr/ndr_rap.h"
_PUBLIC_ void ndr_print_rap_NetPrintQEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQEnum *r)
{
uint32_t cntr_info_1;
ndr_print_struct(ndr, name, "rap_NetPrintQEnum");
ndr->depth++;
if (flags & NDR_SET_VALUES) {
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
}
if (flags & NDR_IN) {
ndr_print_struct(ndr, "in", "rap_NetPrintQEnum");
ndr->depth++;
ndr_print_uint16(ndr, "level", r->in.level);
ndr_print_uint16(ndr, "bufsize", r->in.bufsize);
ndr->depth--;
}
if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "rap_NetPrintQEnum");
ndr->depth++;
ndr_print_WERROR(ndr, "status", W_ERROR(r->out.status));
ndr_print_uint16(ndr, "convert", r->out.convert);
ndr_print_uint16(ndr, "count", r->out.count);
ndr_print_uint16(ndr, "available", r->out.available);
ndr_print_ptr(ndr, "info", r->out.info);
ndr->depth++;
ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count);
ndr->depth++;
for (cntr_info_1=0;cntr_info_1<r->out.count;cntr_info_1++) {
char *idx_1=NULL;
if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level);
ndr_print_rap_printq_info(ndr, "info", &r->out.info[cntr_info_1]);
free(idx_1);
}
}
ndr->depth--;
ndr->depth--;
ndr->depth--;
}
ndr->depth--;
}

22
librpc/ndr/ndr_rap.h Normal file
View File

@ -0,0 +1,22 @@
/*
Unix SMB/CIFS implementation.
routines for marshalling/unmarshalling special rap types
Copyright (C) Guenther Deschner 2010
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
_PUBLIC_ void ndr_print_rap_NetPrintQEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQEnum *r);

View File

@ -578,7 +578,7 @@ RPC_NDR_KEYSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_keysvc_c.o
[SUBSYSTEM::NDR_RAP]
PUBLIC_DEPENDENCIES = LIBNDR
NDR_RAP_OBJ_FILES = ../librpc/gen_ndr/ndr_rap.o
NDR_RAP_OBJ_FILES = ../librpc/gen_ndr/ndr_rap.o ../librpc/ndr/ndr_rap.o
[SUBSYSTEM::NDR_DCERPC]
PUBLIC_DEPENDENCIES = LIBNDR

View File

@ -264,7 +264,7 @@ bld.SAMBA_SUBSYSTEM('NDR_KEYSVC',
)
bld.SAMBA_SUBSYSTEM('NDR_RAP',
source='../../librpc/gen_ndr/ndr_rap.c',
source='../../librpc/gen_ndr/ndr_rap.c ../../librpc/ndr/ndr_rap.c',
public_deps='LIBNDR'
)
@ -608,7 +608,6 @@ bld.SAMBA_SUBSYSTEM('NDR_DCERPC',
header_path= [ ('*gen_ndr*', 'gen_ndr') ],
)
bld.SAMBA_LIBRARY('dcerpc',
source='rpc/dcerpc.c rpc/dcerpc_auth.c rpc/dcerpc_schannel.c rpc/dcerpc_util.c rpc/dcerpc_smb.c rpc/dcerpc_smb2.c rpc/dcerpc_sock.c rpc/dcerpc_connect.c rpc/dcerpc_secondary.c ../../librpc/rpc/binding.c ../../librpc/rpc/dcerpc_error.c',
pc_files='dcerpc.pc',