diff options
author | Gerald Carter <jerry@samba.org> | 2003-10-03 15:08:16 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-10-03 15:08:16 +0000 |
commit | 6cbdbdf9e1e76837c8ef03e795db11caa74ccf18 (patch) | |
tree | fa0d7892c470cb33656cdededce0cb5e747aca2e /source/rpc_parse | |
parent | 6defe43e6d48619cee31b6c7fc602973e8eeef3f (diff) | |
download | samba-6cbdbdf9e1e76837c8ef03e795db11caa74ccf18.tar.gz samba-6cbdbdf9e1e76837c8ef03e795db11caa74ccf18.tar.xz samba-6cbdbdf9e1e76837c8ef03e795db11caa74ccf18.zip |
abstract UUID parsing code to an individual function; patch from Anthony
Diffstat (limited to 'source/rpc_parse')
-rw-r--r-- | source/rpc_parse/parse_rpc.c | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/source/rpc_parse/parse_rpc.c b/source/rpc_parse/parse_rpc.c index 558378548a5..c1e663f8778 100644 --- a/source/rpc_parse/parse_rpc.c +++ b/source/rpc_parse/parse_rpc.c @@ -243,29 +243,48 @@ BOOL smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth) } /******************************************************************* - Reads or writes an RPC_IFACE structure. + Reads or writes an RPC_UUID structure. ********************************************************************/ -static BOOL smb_io_rpc_iface(const char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth) +static BOOL smb_io_rpc_uuid(const char *desc, RPC_UUID *uuid, prs_struct *ps, int depth) { if (ifc == NULL) return False; - prs_debug(ps, depth, desc, "smb_io_rpc_iface"); + prs_debug(ps, depth, desc, "smb_io_rpc_uuid"); depth++; if(!prs_align(ps)) return False; - if(!prs_uint32 ("data ", ps, depth, &ifc->uuid.time_low)) + if(!prs_uint32 ("data ", ps, depth, &uuid->time_low)) + return False; + if(!prs_uint16 ("data ", ps, depth, &uuid->time_mid)) + return False; + if(!prs_uint16 ("data ", ps, depth, &uuid->time_hi_and_version)) return False; - if(!prs_uint16 ("data ", ps, depth, &ifc->uuid.time_mid)) + + if(!prs_uint8s (False, "data ", ps, depth, uuid->remaining, sizeof(uuid->remaining))) return False; - if(!prs_uint16 ("data ", ps, depth, &ifc->uuid.time_hi_and_version)) + + return true; +} + +/******************************************************************* + Reads or writes an RPC_IFACE structure. +********************************************************************/ + +static BOOL smb_io_rpc_iface(const char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth) +{ + if (ifc == NULL) return False; - if(!prs_uint8s (False, "data ", ps, depth, ifc->uuid.remaining, sizeof(ifc->uuid.remaining))) + prs_debug(ps, depth, desc, "smb_io_rpc_iface"); + depth++; + + if (!smb_io_rpc_uuid( "uuid", ps, depth, &ifc->uuid)) return False; + if(!prs_uint32 ( "version", ps, depth, &ifc->version)) return False; |