diff options
Diffstat (limited to 'source3/registry')
-rw-r--r-- | source3/registry/regfio.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/source3/registry/regfio.c b/source3/registry/regfio.c index d64eab84f9..5ba936273d 100644 --- a/source3/registry/regfio.c +++ b/source3/registry/regfio.c @@ -31,6 +31,38 @@ * ******************************************************************/ +/******************************************************************* + Reads or writes an NTTIME structure. +********************************************************************/ + +static bool smb_io_time(const char *desc, NTTIME *nttime, prs_struct *ps, int depth) +{ + uint32 low, high; + if (nttime == NULL) + return False; + + prs_debug(ps, depth, desc, "smb_io_time"); + depth++; + + if(!prs_align(ps)) + return False; + + if (MARSHALLING(ps)) { + low = *nttime & 0xFFFFFFFF; + high = *nttime >> 32; + } + + if(!prs_uint32("low ", ps, depth, &low)) /* low part */ + return False; + if(!prs_uint32("high", ps, depth, &high)) /* high part */ + return False; + + if (UNMARSHALLING(ps)) { + *nttime = (((uint64_t)high << 32) + low); + } + + return True; +} /******************************************************************* *******************************************************************/ |