The branch, master has been updated
       via  7fbdf8aae93f143c879de705936279f42eb8ee6f (commit)
       via  36d07858069ed8710a0ad822535074bed77ec130 (commit)
       via  a502392541bcb45babbb8ca57e17306aa726ee9b (commit)
       via  a4e999c7e3214de26bdc7a20d5ec25d4ffdf152d (commit)
      from  0cfb1aea29929c0605d299d71784787aa516bc2a (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7fbdf8aae93f143c879de705936279f42eb8ee6f
Author: Günther Deschner <[email protected]>
Date:   Wed Mar 18 16:38:36 2009 +0100

    s3-spoolss: remove include/rpc_spoolss.h.
    
    Guenther

commit 36d07858069ed8710a0ad822535074bed77ec130
Author: Günther Deschner <[email protected]>
Date:   Wed Mar 18 00:45:35 2009 +0100

    s3-spoolss: remove rpc_server/srv_spoolss.c alltogether.
    
    Guenther

commit a502392541bcb45babbb8ca57e17306aa726ee9b
Author: Günther Deschner <[email protected]>
Date:   Wed Mar 18 00:43:31 2009 +0100

    s3-spoolss: remove rpc_parse/parse_spoolss.c alltogether.
    
    Good-Bye, last hand-marshalled rpc functions, rest in peace.
    
    Guenther

commit a4e999c7e3214de26bdc7a20d5ec25d4ffdf152d
Author: Günther Deschner <[email protected]>
Date:   Wed Mar 18 00:41:47 2009 +0100

    s3-spoolss: remove old spoolss_EnumPrinterDataEx.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/Makefile.in               |    7 +-
 source3/configure.in              |    6 +-
 source3/include/includes.h        |    1 -
 source3/include/proto.h           |   12 -
 source3/include/rpc_spoolss.h     |  205 -------------
 source3/rpc_parse/parse_spoolss.c |  280 ------------------
 source3/rpc_server/srv_spoolss.c  |  591 -------------------------------------
 7 files changed, 6 insertions(+), 1096 deletions(-)
 delete mode 100644 source3/include/rpc_spoolss.h
 delete mode 100644 source3/rpc_parse/parse_spoolss.c
 delete mode 100644 source3/rpc_server/srv_spoolss.c


Changeset truncated at 500 lines:

diff --git a/source3/Makefile.in b/source3/Makefile.in
index 9a1beaf..a393fea 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -577,7 +577,7 @@ RPC_NTSVCS_OBJ = rpc_server/srv_ntsvcs_nt.o \
 
 RPC_DFS_OBJ =  ../librpc/gen_ndr/srv_dfs.o rpc_server/srv_dfs_nt.o
 
-RPC_SPOOLSS_OBJ = rpc_server/srv_spoolss.o rpc_server/srv_spoolss_nt.o \
+RPC_SPOOLSS_OBJ = rpc_server/srv_spoolss_nt.o \
                  ../librpc/gen_ndr/srv_spoolss.o
 
 RPC_EVENTLOG_OBJ = rpc_server/srv_eventlog_nt.o \
@@ -590,8 +590,7 @@ RPC_ECHO_OBJ = rpc_server/srv_echo_nt.o 
../librpc/gen_ndr/srv_echo.o
 
 RPC_SERVER_OBJ = @RPC_STATIC@ $(RPC_PIPE_OBJ)
 
-RPC_PARSE_OBJ = $(RPC_PARSE_OBJ2) \
-                rpc_parse/parse_spoolss.o
+RPC_PARSE_OBJ = $(RPC_PARSE_OBJ2)
 
 RPC_CLIENT_OBJ = rpc_client/cli_pipe.o rpc_client/rpc_transport_np.o \
        rpc_client/rpc_transport_sock.o rpc_client/rpc_transport_smbd.o
@@ -2278,7 +2277,7 @@ bin/librpc_dsset...@shlibext@: $(BINARY_PREREQS) 
$(RPC_DSSETUP_OBJ)
        @echo "Linking $@"
        @$(SHLD_MODULE) $(RPC_DSSETUP_OBJ)
 
-bin/librpc_spools...@shlibext@: $(BINARY_PREREQS) $(RPC_SPOOLSS_OBJ)
+bin/librpc_spool...@shlibext@: $(BINARY_PREREQS) $(RPC_SPOOLSS_OBJ)
        @echo "Linking $@"
        @$(SHLD_MODULE) $(RPC_SPOOLSS_OBJ)
 
diff --git a/source3/configure.in b/source3/configure.in
index 993290d..dc5850a 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -433,7 +433,7 @@ AC_SUBST(DYNEXP)
 
 dnl Add modules that have to be built by default here
 dnl These have to be built static:
-default_static_modules="pdb_smbpasswd pdb_tdbsam pdb_wbc_sam rpc_lsarpc 
rpc_samr rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl 
rpc_ntsvcs rpc_netlogon rpc_netdfs rpc_srvsvc rpc_spoolss2 rpc_eventlog 
auth_sam auth_unix auth_winbind auth_wbc auth_server auth_domain auth_builtin 
auth_netlogond vfs_default nss_info_template"
+default_static_modules="pdb_smbpasswd pdb_tdbsam pdb_wbc_sam rpc_lsarpc 
rpc_samr rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl 
rpc_ntsvcs rpc_netlogon rpc_netdfs rpc_srvsvc rpc_spoolss rpc_eventlog auth_sam 
auth_unix auth_winbind auth_wbc auth_server auth_domain auth_builtin 
auth_netlogond vfs_default nss_info_template"
 
 dnl These are preferably build shared, and static if dlopen() is not available
 default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit 
vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap 
vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850 charset_CP437 
auth_script vfs_readahead vfs_xattr_tdb vfs_streams_xattr vfs_streams_depot 
vfs_acl_xattr vfs_acl_tdb vfs_smb_traffic_analyzer vfs_preopen"
@@ -6090,7 +6090,7 @@ do
 done
 
 dnl Always build these modules static
-MODULE_rpc_spoolss2=STATIC
+MODULE_rpc_spoolss=STATIC
 MODULE_rpc_srvsvc=STATIC
 MODULE_idmap_tdb=STATIC
 MODULE_idmap_passdb=STATIC
@@ -6134,7 +6134,7 @@ SMB_MODULE(rpc_ntsvcs, \$(RPC_NTSVCS_OBJ), 
"bin/librpc_ntsvcs.$SHLIBEXT", RPC)
 SMB_MODULE(rpc_netlogon, \$(RPC_NETLOG_OBJ), "bin/librpc_NETLOGON.$SHLIBEXT", 
RPC)
 SMB_MODULE(rpc_netdfs, \$(RPC_DFS_OBJ), "bin/librpc_netdfs.$SHLIBEXT", RPC)
 SMB_MODULE(rpc_srvsvc, \$(RPC_SVC_OBJ), "bin/librpc_svcsvc.$SHLIBEXT", RPC)
-SMB_MODULE(rpc_spoolss2, \$(RPC_SPOOLSS_OBJ), "bin/librpc_spoolss2.$SHLIBEXT", 
RPC)
+SMB_MODULE(rpc_spoolss, \$(RPC_SPOOLSS_OBJ), "bin/librpc_spoolss.$SHLIBEXT", 
RPC)
 SMB_MODULE(rpc_eventlog, \$(RPC_EVENTLOG_OBJ), 
"bin/librpc_eventlog.$SHLIBEXT", RPC)
 SMB_MODULE(rpc_samr, \$(RPC_SAMR_OBJ), "bin/librpc_samr.$SHLIBEXT", RPC)
 SMB_MODULE(rpc_rpcecho, \$(RPC_ECHO_OBJ), "bin/librpc_rpcecho.$SHLIBEXT", RPC)
diff --git a/source3/include/includes.h b/source3/include/includes.h
index b48a755..4bf4b5c 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -622,7 +622,6 @@ struct smb_iconv_convenience *lp_iconv_convenience(void 
*lp_ctx);
 #include "ntdomain.h"
 #include "reg_objects.h"
 #include "reg_db.h"
-#include "rpc_spoolss.h"
 #include "rpc_perfcount.h"
 #include "rpc_perfcount_defs.h"
 #include "librpc/gen_ndr/notify.h"
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 2f4c360..d0b8f22 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5827,13 +5827,6 @@ bool smb_io_rpc_auth_schannel_chk(const char *desc, int 
auth_len,
 bool sec_io_desc(const char *desc, SEC_DESC **ppsd, prs_struct *ps, int depth);
 bool sec_io_desc_buf(const char *desc, SEC_DESC_BUF **ppsdb, prs_struct *ps, 
int depth);
 
-/* The following definitions come from rpc_parse/parse_spoolss.c  */
-
-uint32 spoolss_size_printer_enum_values(PRINTER_ENUM_VALUES *p);
-bool make_spoolss_buffer5(TALLOC_CTX *mem_ctx, BUFFER5 *buf5, uint32 len, 
uint16 *src);
-bool spoolss_io_q_enumprinterdataex(const char *desc, 
SPOOL_Q_ENUMPRINTERDATAEX *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_enumprinterdataex(const char *desc, 
SPOOL_R_ENUMPRINTERDATAEX *r_u, prs_struct *ps, int depth);
-
 /* The following definitions come from rpc_server/srv_eventlog_lib.c  */
 
 TDB_CONTEXT *elog_init_tdb( char *tdbfilename );
@@ -5934,11 +5927,6 @@ void copy_id23_to_sam_passwd(struct samu *to,
 void copy_id25_to_sam_passwd(struct samu *to,
                             struct samr_UserInfo25 *from);
 
-/* The following definitions come from rpc_server/srv_spoolss.c  */
-
-void spoolss2_get_pipe_fns( struct api_struct **fns, int *n_fns );
-NTSTATUS rpc_spoolss2_init(void);
-
 /* The following definitions come from rpc_server/srv_spoolss_nt.c  */
 
 WERROR delete_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char 
*sharename );
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
deleted file mode 100644
index 4082903..0000000
--- a/source3/include/rpc_spoolss.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/* 
-   Unix SMB/Netbios implementation.
-
-   Copyright (C) Andrew Tridgell              1992-2000,
-   Copyright (C) Luke Kenneth Casson Leighton 1996-2000,
-   Copyright (C) Jean Francois Micouleau      1998-2000.
-   Copyright (C) Gerald Carter                2001-2006.
-   
-   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 "librpc/gen_ndr/spoolss.h"
-
-#ifndef _RPC_SPOOLSS_H         /* _RPC_SPOOLSS_H */
-#define _RPC_SPOOLSS_H
-
-/* spoolss pipe: this are the calls which are not implemented ...
-#define SPOOLSS_GETPRINTERDRIVER                       0x0b
-#define SPOOLSS_READPRINTER                            0x16
-#define SPOOLSS_WAITFORPRINTERCHANGE                   0x1c
-#define SPOOLSS_ADDPORT                                        0x25
-#define SPOOLSS_CONFIGUREPORT                          0x26
-#define SPOOLSS_DELETEPORT                             0x27
-#define SPOOLSS_CREATEPRINTERIC                                0x28
-#define SPOOLSS_PLAYGDISCRIPTONPRINTERIC               0x29
-#define SPOOLSS_DELETEPRINTERIC                                0x2a
-#define SPOOLSS_ADDPRINTERCONNECTION                   0x2b
-#define SPOOLSS_DELETEPRINTERCONNECTION                        0x2c
-#define SPOOLSS_PRINTERMESSAGEBOX                      0x2d
-#define SPOOLSS_ADDMONITOR                             0x2e
-#define SPOOLSS_DELETEMONITOR                          0x2f
-#define SPOOLSS_DELETEPRINTPROCESSOR                   0x30
-#define SPOOLSS_ADDPRINTPROVIDOR                       0x31
-#define SPOOLSS_DELETEPRINTPROVIDOR                    0x32
-#define SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION     0x36
-#define SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION      0x37
-#define SPOOLSS_ROUTERFINDFIRSTPRINTERNOTIFICATIONOLD  0x39
-#define SPOOLSS_ADDPORTEX                              0x3d
-#define SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFICATION0x3e
-#define SPOOLSS_SPOOLERINIT                            0x3f
-#define SPOOLSS_RESETPRINTEREX                         0x40
-*/
-
-/* those are implemented */
-#define SPOOLSS_ENUMPRINTERS                           0x00
-#define SPOOLSS_OPENPRINTER                            0x01
-#define SPOOLSS_SETJOB                                 0x02
-#define SPOOLSS_GETJOB                                 0x03
-#define SPOOLSS_ENUMJOBS                               0x04
-#define SPOOLSS_ADDPRINTER                             0x05
-#define SPOOLSS_DELETEPRINTER                          0x06
-#define SPOOLSS_SETPRINTER                             0x07
-#define SPOOLSS_GETPRINTER                             0x08
-#define SPOOLSS_ADDPRINTERDRIVER                       0x09
-#define SPOOLSS_ENUMPRINTERDRIVERS                     0x0a
-#define SPOOLSS_GETPRINTERDRIVERDIRECTORY              0x0c
-#define SPOOLSS_DELETEPRINTERDRIVER                    0x0d
-#define SPOOLSS_ADDPRINTPROCESSOR                      0x0e
-#define SPOOLSS_ENUMPRINTPROCESSORS                    0x0f
-#define SPOOLSS_GETPRINTPROCESSORDIRECTORY             0x10
-#define SPOOLSS_STARTDOCPRINTER                                0x11
-#define SPOOLSS_STARTPAGEPRINTER                       0x12
-#define SPOOLSS_WRITEPRINTER                           0x13
-#define SPOOLSS_ENDPAGEPRINTER                         0x14
-#define SPOOLSS_ABORTPRINTER                           0x15
-#define SPOOLSS_ENDDOCPRINTER                          0x17
-#define SPOOLSS_ADDJOB                                 0x18
-#define SPOOLSS_SCHEDULEJOB                            0x19
-#define SPOOLSS_GETPRINTERDATA                         0x1a
-#define SPOOLSS_SETPRINTERDATA                         0x1b
-#define SPOOLSS_CLOSEPRINTER                           0x1d
-#define SPOOLSS_ADDFORM                                        0x1e
-#define SPOOLSS_DELETEFORM                             0x1f
-#define SPOOLSS_GETFORM                                        0x20
-#define SPOOLSS_SETFORM                                        0x21
-#define SPOOLSS_ENUMFORMS                              0x22
-#define SPOOLSS_ENUMPORTS                              0x23
-#define SPOOLSS_ENUMMONITORS                           0x24
-#define SPOOLSS_ENUMPRINTPROCDATATYPES                 0x33
-#define SPOOLSS_RESETPRINTER                           0x34
-#define SPOOLSS_GETPRINTERDRIVER2                      0x35
-#define SPOOLSS_FCPN                                   0x38    /* 
FindClosePrinterNotify */
-#define SPOOLSS_REPLYOPENPRINTER                       0x3a
-#define SPOOLSS_ROUTERREPLYPRINTER                     0x3b
-#define SPOOLSS_REPLYCLOSEPRINTER                      0x3c
-#define SPOOLSS_RFFPCNEX                               0x41    /* 
RemoteFindFirstPrinterChangeNotifyEx */
-#define SPOOLSS_RRPCN                                  0x42    /* 
RouteRefreshPrinterChangeNotification */
-#define SPOOLSS_RFNPCNEX                               0x43    /* 
RemoteFindNextPrinterChangeNotifyEx */
-#define SPOOLSS_OPENPRINTEREX                          0x45
-#define SPOOLSS_ADDPRINTEREX                           0x46
-#define SPOOLSS_ENUMPRINTERDATA                                0x48
-#define SPOOLSS_DELETEPRINTERDATA                      0x49
-#define SPOOLSS_SETPRINTERDATAEX                       0x4d
-#define SPOOLSS_GETPRINTERDATAEX                       0x4e
-#define SPOOLSS_ENUMPRINTERDATAEX                      0x4f
-#define SPOOLSS_ENUMPRINTERKEY                         0x50
-#define SPOOLSS_DELETEPRINTERDATAEX                    0x51
-#define SPOOLSS_DELETEPRINTERKEY                       0x52
-#define SPOOLSS_DELETEPRINTERDRIVEREX                  0x54
-#define SPOOLSS_XCVDATAPORT                            0x58
-#define SPOOLSS_ADDPRINTERDRIVEREX                     0x59
-
-#define PRINTER_NOTIFY_SERVER_NAME             0x00
-#define PRINTER_NOTIFY_PRINTER_NAME            0x01
-#define PRINTER_NOTIFY_SHARE_NAME              0x02
-#define PRINTER_NOTIFY_PORT_NAME               0x03
-#define PRINTER_NOTIFY_DRIVER_NAME             0x04
-#define PRINTER_NOTIFY_COMMENT                 0x05
-#define PRINTER_NOTIFY_LOCATION                        0x06
-#define PRINTER_NOTIFY_DEVMODE                 0x07
-#define PRINTER_NOTIFY_SEPFILE                 0x08
-#define PRINTER_NOTIFY_PRINT_PROCESSOR         0x09
-#define PRINTER_NOTIFY_PARAMETERS              0x0A
-#define PRINTER_NOTIFY_DATATYPE                        0x0B
-#define PRINTER_NOTIFY_SECURITY_DESCRIPTOR     0x0C
-#define PRINTER_NOTIFY_ATTRIBUTES              0x0D
-#define PRINTER_NOTIFY_PRIORITY                        0x0E
-#define PRINTER_NOTIFY_DEFAULT_PRIORITY                0x0F
-#define PRINTER_NOTIFY_START_TIME              0x10
-#define PRINTER_NOTIFY_UNTIL_TIME              0x11
-#define PRINTER_NOTIFY_STATUS                  0x12
-#define PRINTER_NOTIFY_STATUS_STRING           0x13
-#define PRINTER_NOTIFY_CJOBS                   0x14
-#define PRINTER_NOTIFY_AVERAGE_PPM             0x15
-#define PRINTER_NOTIFY_TOTAL_PAGES             0x16
-#define PRINTER_NOTIFY_PAGES_PRINTED           0x17
-#define PRINTER_NOTIFY_TOTAL_BYTES             0x18
-#define PRINTER_NOTIFY_BYTES_PRINTED           0x19
-
-#define JOB_NOTIFY_PRINTER_NAME                        0x00
-#define JOB_NOTIFY_MACHINE_NAME                        0x01
-#define JOB_NOTIFY_PORT_NAME                   0x02
-#define JOB_NOTIFY_USER_NAME                   0x03
-#define JOB_NOTIFY_NOTIFY_NAME                 0x04
-#define JOB_NOTIFY_DATATYPE                    0x05
-#define JOB_NOTIFY_PRINT_PROCESSOR             0x06
-#define JOB_NOTIFY_PARAMETERS                  0x07
-#define JOB_NOTIFY_DRIVER_NAME                 0x08
-#define JOB_NOTIFY_DEVMODE                     0x09
-#define JOB_NOTIFY_STATUS                      0x0A
-#define JOB_NOTIFY_STATUS_STRING               0x0B
-#define JOB_NOTIFY_SECURITY_DESCRIPTOR         0x0C
-#define JOB_NOTIFY_DOCUMENT                    0x0D
-#define JOB_NOTIFY_PRIORITY                    0x0E
-#define JOB_NOTIFY_POSITION                    0x0F
-#define JOB_NOTIFY_SUBMITTED                   0x10
-#define JOB_NOTIFY_START_TIME                  0x11
-#define JOB_NOTIFY_UNTIL_TIME                  0x12
-#define JOB_NOTIFY_TIME                                0x13
-#define JOB_NOTIFY_TOTAL_PAGES                 0x14
-#define JOB_NOTIFY_PAGES_PRINTED               0x15
-#define JOB_NOTIFY_TOTAL_BYTES                 0x16
-#define JOB_NOTIFY_BYTES_PRINTED               0x17
-
-/********************************************/
-
-typedef struct printer_enum_values
-{
-       UNISTR valuename;
-       uint32 value_len;
-       uint32 type;
-       uint8  *data;
-       uint32 data_len; 
-       
-}
-PRINTER_ENUM_VALUES;
-
-typedef struct printer_enum_values_ctr
-{
-       uint32 size;
-       uint32 size_of_array;
-       PRINTER_ENUM_VALUES *values;
-}
-PRINTER_ENUM_VALUES_CTR;
-
-typedef struct spool_q_enumprinterdataex
-{
-       POLICY_HND handle;
-       UNISTR2 key;
-       uint32 size;
-}
-SPOOL_Q_ENUMPRINTERDATAEX;
-
-typedef struct spool_r_enumprinterdataex
-{
-       PRINTER_ENUM_VALUES_CTR ctr;
-       uint32 needed;
-       uint32 returned;
-       WERROR status;
-}
-SPOOL_R_ENUMPRINTERDATAEX;
-
-#endif /* _RPC_SPOOLSS_H */
-
diff --git a/source3/rpc_parse/parse_spoolss.c 
b/source3/rpc_parse/parse_spoolss.c
deleted file mode 100644
index ea09337..0000000
--- a/source3/rpc_parse/parse_spoolss.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/* 
- *  Unix SMB/CIFS implementation.
- *  RPC Pipe client / server routines
- *  Copyright (C) Andrew Tridgell              1992-2000,
- *  Copyright (C) Luke Kenneth Casson Leighton 1996-2000,
- *  Copyright (C) Jean François Micouleau      1998-2000,
- *  Copyright (C) Gerald Carter                2000-2002,
- *  Copyright (C) Tim Potter                  2001-2002.
- *
- *  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"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_RPC_PARSE
-
-/*******************************************************************
- * return the length of a uint32 (obvious, but the code is clean)
- ********************************************************************/
-
-static uint32 size_of_uint32(uint32 *value)
-{
-       return (sizeof(*value));
-}
-
-/*******************************************************************
-return the size required by a struct in the stream
-********************************************************************/  
-uint32 spoolss_size_printer_enum_values(PRINTER_ENUM_VALUES *p)
-{
-       uint32  size = 0; 
-       
-       if (!p)
-               return 0;
-       
-       /* uint32(offset) + uint32(length) + length) */
-       size += (size_of_uint32(&p->value_len)*2) + p->value_len;
-       size += (size_of_uint32(&p->data_len)*2) + p->data_len + 
(p->data_len%2) ;
-       
-       size += size_of_uint32(&p->type);
-                      
-       return size;
-}
-
-/*******************************************************************
- make a BUFFER5 struct from a uint16*
- ******************************************************************/
-
-bool make_spoolss_buffer5(TALLOC_CTX *mem_ctx, BUFFER5 *buf5, uint32 len, 
uint16 *src)
-{
-
-       buf5->buf_len = len;
-       if (src) {
-               if (len) {
-                       if((buf5->buffer=(uint16*)TALLOC_MEMDUP(mem_ctx, src, 
sizeof(uint16)*len)) == NULL) {
-                               DEBUG(0,("make_spoolss_buffer5: Unable to 
malloc memory for buffer!\n"));
-                               return False;
-                       }
-               } else {
-                       buf5->buffer = NULL;
-               }
-       } else {
-               buf5->buffer=NULL;
-       }
-       
-       return True;
-}
-
-/*******************************************************************
-********************************************************************/  
-
-bool make_spoolss_q_enumprinterdataex(SPOOL_Q_ENUMPRINTERDATAEX *q_u,
-                                     const POLICY_HND *hnd, const char *key,
-                                     uint32 size)
-{
-       memcpy(&q_u->handle, hnd, sizeof(q_u->handle));
-       init_unistr2(&q_u->key, key, UNI_STR_TERMINATE);
-       q_u->size = size;
-
-       return True;
-}
-
-/*******************************************************************
- * read a structure.
- ********************************************************************/  
-
-bool spoolss_io_q_enumprinterdataex(const char *desc, 
SPOOL_Q_ENUMPRINTERDATAEX *q_u, prs_struct *ps, int depth)
-{
-       prs_debug(ps, depth, desc, "spoolss_io_q_enumprinterdataex");
-       depth++;
-
-       if(!prs_align(ps))
-               return False;
-       if(!smb_io_pol_hnd("printer handle", &q_u->handle, ps, depth))
-               return False;
-               
-       if(!smb_io_unistr2("", &q_u->key, True, ps, depth))
-               return False;
-
-       if(!prs_align(ps))
-               return False;
-       
-       if(!prs_uint32("size", ps, depth, &q_u->size))
-               return False;
-
-       return True;
-}
-
-/*******************************************************************
-********************************************************************/  
-
-static bool spoolss_io_printer_enum_values_ctr(const char *desc, prs_struct 
*ps, 
-                               PRINTER_ENUM_VALUES_CTR *ctr, int depth)
-{
-       int     i;
-       uint32  valuename_offset,
-               data_offset,
-               current_offset;
-       const uint32 basic_unit = 20; /* size of static portion of enum_values 
*/
-
-       prs_debug(ps, depth, desc, "spoolss_io_printer_enum_values_ctr");
-       depth++;        
-
-       /* 
-        * offset data begins at 20 bytes per structure * size_of_array.
-        * Don't forget the uint32 at the beginning 
-        * */
-       
-       current_offset = basic_unit * ctr->size_of_array;
-       
-       /* first loop to write basic enum_value information */
-       
-       if (UNMARSHALLING(ps) && ctr->size_of_array) {
-               ctr->values = PRS_ALLOC_MEM(ps, PRINTER_ENUM_VALUES, 
ctr->size_of_array);
-               if (!ctr->values)
-                       return False;
-       }
-
-       for (i=0; i<ctr->size_of_array; i++) {
-               uint32 base_offset, return_offset;
-
-               base_offset = prs_offset(ps);
-
-               valuename_offset = current_offset;
-               if (!prs_uint32("valuename_offset", ps, depth, 
&valuename_offset))
-                       return False;
-
-               /* Read or write the value. */
-
-               return_offset = prs_offset(ps);
-
-               if (!prs_set_offset(ps, base_offset + valuename_offset)) {
-                       return False;
-               }
-
-               if (!prs_unistr("valuename", ps, depth, 
&ctr->values[i].valuename))
-                       return False;
-
-               /* And go back. */
-               if (!prs_set_offset(ps, return_offset))
-                       return False;
-
-               if (!prs_uint32("value_len", ps, depth, 
&ctr->values[i].value_len))
-                       return False;
-       
-               if (!prs_uint32("type", ps, depth, &ctr->values[i].type))


-- 
Samba Shared Repository

Reply via email to