summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr/ndr_basic.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-11-19 02:35:48 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:59 -0500
commit717c8bc7950c2f0eabcdbc7437f47289f6b227b5 (patch)
tree6e88a5269bf1d718ba7b88ee8836e393fb025158 /source4/librpc/ndr/ndr_basic.c
parenta0fa682faa309bda812008ea3a084cf54f65310b (diff)
downloadsamba-717c8bc7950c2f0eabcdbc7437f47289f6b227b5.tar.gz
samba-717c8bc7950c2f0eabcdbc7437f47289f6b227b5.tar.bz2
samba-717c8bc7950c2f0eabcdbc7437f47289f6b227b5.zip
r3869: in the NDR encoded replPropertyMetaData attribute in ADS
I see a new 64 bit time field which are seconds since 1601, this will be mapped to NTTIME by th eparsing code +#define NTTIME_1sec NTTIME metze (This used to be commit db35f3b0f99943311ff8b797e8336616dab28220)
Diffstat (limited to 'source4/librpc/ndr/ndr_basic.c')
-rw-r--r--source4/librpc/ndr/ndr_basic.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/source4/librpc/ndr/ndr_basic.c b/source4/librpc/ndr/ndr_basic.c
index 057b162ca9..f26c40e7b7 100644
--- a/source4/librpc/ndr/ndr_basic.c
+++ b/source4/librpc/ndr/ndr_basic.c
@@ -951,6 +951,26 @@ NTSTATUS ndr_pull_NTTIME(struct ndr_pull *ndr, NTTIME *t)
}
/*
+ push a NTTIME
+*/
+NTSTATUS ndr_push_NTTIME_1sec(struct ndr_push *ndr, NTTIME t)
+{
+ t /= 10000000;
+ NDR_CHECK(ndr_push_uint64(ndr, t));
+ return NT_STATUS_OK;
+}
+
+/*
+ pull a NTTIME
+*/
+NTSTATUS ndr_pull_NTTIME_1sec(struct ndr_pull *ndr, NTTIME *t)
+{
+ NDR_CHECK(ndr_pull_uint64(ndr, t));
+ (*t) *= 10000000;
+ return NT_STATUS_OK;
+}
+
+/*
push a time_t
*/
NTSTATUS ndr_push_time_t(struct ndr_push *ndr, time_t t)
@@ -997,7 +1017,10 @@ void ndr_print_int32(struct ndr_print *ndr, const char *name, int32_t v)
void ndr_print_uint64(struct ndr_print *ndr, const char *name, uint64_t v)
{
- ndr->print(ndr, "%-25s: 0x%08x%08x", name, (uint32_t)(v >> 32), (uint32_t)(v & 0xFFFFFFFF));
+ ndr->print(ndr, "%-25s: 0x%08x%08x (%llu)", name,
+ (uint32_t)(v >> 32),
+ (uint32_t)(v & 0xFFFFFFFF),
+ v);
}
void ndr_print_int64(struct ndr_print *ndr, const char *name, int64_t v)
@@ -1036,6 +1059,11 @@ void ndr_print_NTTIME(struct ndr_print *ndr, const char *name, NTTIME t)
ndr->print(ndr, "%-25s: %s", name, nt_time_string(ndr, t));
}
+void ndr_print_NTTIME_1sec(struct ndr_print *ndr, const char *name, NTTIME t)
+{
+ ndr_print_NTTIME(ndr, name, t);
+}
+
void ndr_print_time_t(struct ndr_print *ndr, const char *name, time_t t)
{
if (t == (time_t)-1 || t == 0) {