mirror of
https://github.com/samba-team/samba.git
synced 2025-08-03 04:22:09 +03:00
add uint16 support, start to parse more of spoolss
This commit is contained in:
@ -304,3 +304,19 @@ BOOL prs_uint32s(BOOL charmode, char *name, prs_struct *ps, int depth, uint32 *d
|
|||||||
|
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
Stream a uint16.
|
||||||
|
********************************************************************/
|
||||||
|
|
||||||
|
BOOL prs_uint16(char *name, prs_struct *ps, int depth, uint16 *data16)
|
||||||
|
{
|
||||||
|
char *q = prs_mem_get(ps, sizeof(uint16));
|
||||||
|
if (q == NULL)
|
||||||
|
return False;
|
||||||
|
|
||||||
|
DBG_RW_SVAL(name, depth, ps->data_offset, ps->io, ps->bigendian_data, q, *data16)
|
||||||
|
ps->data_offset += sizeof(uint16);
|
||||||
|
|
||||||
|
return True;
|
||||||
|
}
|
||||||
|
@ -63,4 +63,5 @@ void dump_data(int level,char *buf1,int len);
|
|||||||
BOOL prs_uint16s(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 *data16s, int len);
|
BOOL prs_uint16s(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 *data16s, int len);
|
||||||
BOOL prs_uint32s(BOOL charmode, char *name, prs_struct *ps, int depth, uint32 *data32s, int len);
|
BOOL prs_uint32s(BOOL charmode, char *name, prs_struct *ps, int depth, uint32 *data32s, int len);
|
||||||
BOOL prs_pointer(char *desc, prs_struct *ps, int depth, void **p);
|
BOOL prs_pointer(char *desc, prs_struct *ps, int depth, void **p);
|
||||||
|
BOOL prs_uint16(char *name, prs_struct *ps, int depth, uint16 *data16);
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
module spool
|
module spool
|
||||||
test PRINTER_DRIVER_INFO_LEVEL_3
|
test SPOOL_NOTIFY_INFO
|
||||||
|
|
||||||
struct BUFFER5 {
|
struct BUFFER5 {
|
||||||
.align 4;
|
.align 4;
|
||||||
@ -74,3 +74,34 @@ struct PRINTER_DRIVER_INFO {
|
|||||||
case 6 PRINTER_DRIVER_INFO_LEVEL_6 info_6;
|
case 6 PRINTER_DRIVER_INFO_LEVEL_6 info_6;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct NOTIFY_DATA_VALUE {
|
||||||
|
uint32 value0;
|
||||||
|
uint32 value1;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct NOTIFY_DATA_STRING {
|
||||||
|
uint32 length;
|
||||||
|
{length} uint16 string;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SPOOL_NOTIFY_INFO_DATA {
|
||||||
|
uint16 type;
|
||||||
|
uint16 field;
|
||||||
|
uint32 reserved;
|
||||||
|
uint32 id;
|
||||||
|
union enc_type *notify_data {
|
||||||
|
case 1 NOTIFY_DATA_VALUE value;
|
||||||
|
case 0 NOTIFY_DATA_STRING string;
|
||||||
|
}
|
||||||
|
uint32 size;
|
||||||
|
uint32 enc_type;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SPOOL_NOTIFY_INFO {
|
||||||
|
uint32 version;
|
||||||
|
uint32 flags;
|
||||||
|
uint32 count;
|
||||||
|
SPOOL_NOTIFY_INFO_DATA *data;
|
||||||
|
};
|
||||||
|
Reference in New Issue
Block a user