summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-27 06:16:59 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:15 -0500
commit3dd17f128831e09c230a8d56e34495d3b31dbacb (patch)
tree962c0357cf7e14bf2c7950461185d0a9d35b1c96 /source4/librpc
parent00169404eddd859262ef6f0684143efbedcd7bf7 (diff)
downloadsamba-3dd17f128831e09c230a8d56e34495d3b31dbacb.tar.gz
samba-3dd17f128831e09c230a8d56e34495d3b31dbacb.tar.bz2
samba-3dd17f128831e09c230a8d56e34495d3b31dbacb.zip
r5034: - added a type mapping function in pidl, so the type names in our IDL
files don't need to match the type names in the generated headers - with this type mapping we no longer need definitions for the deprecated "int32", "uint8" etc form of types. We can now force everyone to use the standard types int32_t, uint8_t etc. - fixed all the code that used the deprecated types - converted the IDL types "int64" and "uint64" to "dlong" and "udlong". These are the 4 byte aligned 64 bit integers that Microsoft internally define as two 32 bit integers in a structure. After discussions with Ronnie Sahlberg we decided that calling these "int64" was confusing, as it implied a true 8 byte aligned type - fixed all the cases where we incorrectly used things like "NTTIME_hyper" in our C code. The generated API now uses a NTTIME for those. The fact that it is hyper-aligned on the wire is not relevant to the API, and should remain just a IDL property (This used to be commit f86521677d7ff16bdc4815f9524e5286026f10f3)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/netlogon.idl16
-rw-r--r--source4/librpc/idl/samr.idl6
-rw-r--r--source4/librpc/idl/xattr.idl12
-rw-r--r--source4/librpc/ndr/libndr.h21
-rw-r--r--source4/librpc/ndr/ndr_basic.c52
5 files changed, 43 insertions, 64 deletions
diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl
index 3d3005685b..cb537d75a3 100644
--- a/source4/librpc/idl/netlogon.idl
+++ b/source4/librpc/idl/netlogon.idl
@@ -76,8 +76,8 @@ interface netlogon
/* in netr_AcctLockStr size seems to be be 24, and rrenard thinks
that the structure of the bindata looks like this:
- uint64 lockout_duration;
- uint64 reset_count;
+ dlong lockout_duration;
+ udlong reset_count;
uint32 bad_attempt_lockout;
uint32 dummy;
@@ -407,9 +407,9 @@ interface netlogon
uint16 min_password_length;
uint16 password_history_length;
/* yes, these are signed. They are in negative 100ns */
- int64 max_password_age;
- int64 min_password_age;
- uint64 sequence_num;
+ dlong max_password_age;
+ dlong min_password_age;
+ udlong sequence_num;
NTTIME domain_create_time;
uint32 SecurityInformation;
sec_desc_buf sdbuf;
@@ -504,7 +504,7 @@ interface netlogon
netr_String primary_domain_name;
dom_sid2 *sid;
netr_QUOTA_LIMITS quota_limits;
- uint64 sequence_num;
+ udlong sequence_num;
NTTIME db_create_time;
uint32 SecurityInformation;
sec_desc_buf sdbuf;
@@ -635,7 +635,7 @@ interface netlogon
[case(NETR_DELTA_DELETE_SECRET)] netr_DELTA_DELETE_SECRET delete_secret;
[case(NETR_DELTA_DELETE_GROUP2)] netr_DELTA_DELETE_USER *delete_group;
[case(NETR_DELTA_DELETE_USER2)] netr_DELTA_DELETE_USER *delete_user;
- [case(NETR_DELTA_MODIFY_COUNT)] uint64 *modified_count;
+ [case(NETR_DELTA_MODIFY_COUNT)] udlong *modified_count;
} netr_DELTA_UNION;
typedef union {
@@ -681,7 +681,7 @@ interface netlogon
[in] netr_Authenticator credential,
[in,out] netr_Authenticator return_authenticator,
[in] netr_SamDatabaseID database_id,
- [in,out] uint64 sequence_num,
+ [in,out] udlong sequence_num,
[in] uint32 preferredmaximumlength,
[out] netr_DELTA_ENUM_ARRAY *delta_enum_array
);
diff --git a/source4/librpc/idl/samr.idl b/source4/librpc/idl/samr.idl
index fd6229bf63..db7f4aa6cc 100644
--- a/source4/librpc/idl/samr.idl
+++ b/source4/librpc/idl/samr.idl
@@ -135,8 +135,8 @@
uint16 password_history_length;
uint32 password_properties;
/* yes, these are signed. They are in negative 100ns */
- int64 max_password_age;
- int64 min_password_age;
+ dlong max_password_age;
+ dlong min_password_age;
} samr_DomInfo1;
typedef struct {
@@ -144,7 +144,7 @@
samr_String comment;
samr_String domain; /* domain name */
samr_String primary; /* PDC name if this is a BDC */
- uint64 sequence_num;
+ udlong sequence_num;
uint32 unknown2;
samr_Role role;
uint32 unknown3;
diff --git a/source4/librpc/idl/xattr.idl b/source4/librpc/idl/xattr.idl
index 501ac2ab7d..afcefe49bc 100644
--- a/source4/librpc/idl/xattr.idl
+++ b/source4/librpc/idl/xattr.idl
@@ -23,8 +23,8 @@ interface xattr
typedef struct {
uint32 attrib;
uint32 ea_size;
- uint64 size;
- uint64 alloc_size;
+ udlong size;
+ udlong alloc_size;
NTTIME create_time;
NTTIME change_time;
} xattr_DosInfo1;
@@ -35,8 +35,8 @@ interface xattr
uint32 flags;
uint32 attrib;
uint32 ea_size;
- uint64 size;
- uint64 alloc_size;
+ udlong size;
+ udlong alloc_size;
NTTIME create_time;
NTTIME change_time;
NTTIME write_time; /* only used when sticky write time is set */
@@ -82,8 +82,8 @@ interface xattr
typedef struct {
uint32 flags;
- uint64 size;
- uint64 alloc_size;
+ udlong size;
+ udlong alloc_size;
utf8string name;
} xattr_DosStream;
diff --git a/source4/librpc/ndr/libndr.h b/source4/librpc/ndr/libndr.h
index b5a5573448..7070ae80ec 100644
--- a/source4/librpc/ndr/libndr.h
+++ b/source4/librpc/ndr/libndr.h
@@ -199,27 +199,6 @@ enum ndr_err_code {
} \
} while(0)
-#define NDR_SIZE_ALIGN(t, n, flags) ((flags & LIBNDR_FLAG_NOALIGN)?(t):(((t) + (n-1)) & ~(n-1)))
-#define ndr_size_uint8(t, p, flags) (NDR_SIZE_ALIGN(t, 1, flags) + 1)
-#define ndr_size_uint16(t, p, flags) (NDR_SIZE_ALIGN(t, 2, flags) + 2)
-#define ndr_size_int32(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 4)
-#define ndr_size_uint32(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 4)
-#define ndr_size_ptr(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 4)
-/*
- * [u]int64 uses 4 Byte alignment
- * and HYPER_T uses 8 Byte alignment
- */
-#define ndr_size_int64(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 8)
-#define ndr_size_uint64(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 8)
-#define ndr_size_HYPER_T(t, p, flags) (NDR_SIZE_ALIGN(t, 8, flags) + 8)
-
-
-#define ndr_size_NTTIME(t, p, flags) ndr_size_uint64(t, p, flags)
-#define ndr_size_NTTIME_1sec(t, p, flags) ndr_size_HYPER_T(t, p, flags)
-
-#define ndr_size_WERROR(t, p, flags) ndr_size_uint32(t, p, flags)
-#define ndr_size_NTSTATUS(t, p, flags) ndr_size_uint32(t, p, flags)
-
/* these are used to make the error checking on each element in libndr
less tedious, hopefully making the code more readable */
#define NDR_CHECK(call) do { NTSTATUS _status; \
diff --git a/source4/librpc/ndr/ndr_basic.c b/source4/librpc/ndr/ndr_basic.c
index 6476f58764..7ca930d78d 100644
--- a/source4/librpc/ndr/ndr_basic.c
+++ b/source4/librpc/ndr/ndr_basic.c
@@ -118,9 +118,9 @@ NTSTATUS ndr_pull_ptr(struct ndr_pull *ndr, uint32_t *v)
}
/*
- parse a uint64
+ parse a udlong
*/
-NTSTATUS ndr_pull_uint64(struct ndr_pull *ndr, uint64_t *v)
+NTSTATUS ndr_pull_udlong(struct ndr_pull *ndr, uint64_t *v)
{
NDR_PULL_ALIGN(ndr, 4);
NDR_PULL_NEED_BYTES(ndr, 8);
@@ -131,20 +131,20 @@ NTSTATUS ndr_pull_uint64(struct ndr_pull *ndr, uint64_t *v)
}
/*
- parse a int64
+ parse a dlong
*/
-NTSTATUS ndr_pull_int64(struct ndr_pull *ndr, int64_t *v)
+NTSTATUS ndr_pull_dlong(struct ndr_pull *ndr, int64_t *v)
{
- return ndr_pull_uint64(ndr, (uint64_t *)v);
+ return ndr_pull_udlong(ndr, (uint64_t *)v);
}
/*
- parse a HYPER_T
+ parse a hyper
*/
-NTSTATUS ndr_pull_HYPER_T(struct ndr_pull *ndr, HYPER_T *v)
+NTSTATUS ndr_pull_HYPER_T(struct ndr_pull *ndr, uint64_t *v)
{
NDR_PULL_ALIGN(ndr, 8);
- return ndr_pull_uint64(ndr, v);
+ return ndr_pull_udlong(ndr, v);
}
/*
@@ -251,7 +251,7 @@ NTSTATUS ndr_pull_array_uint32(struct ndr_pull *ndr, int ndr_flags, uint32_t *da
/*
pull a const array of HYPER_T
*/
-NTSTATUS ndr_pull_array_HYPER_T(struct ndr_pull *ndr, int ndr_flags, HYPER_T *data, uint32_t n)
+NTSTATUS ndr_pull_array_HYPER_T(struct ndr_pull *ndr, int ndr_flags, uint64_t *data, uint32_t n)
{
uint32_t i;
if (!(ndr_flags & NDR_SCALARS)) {
@@ -330,7 +330,7 @@ NTSTATUS ndr_push_int32(struct ndr_push *ndr, int32_t v)
/*
push a uint64
*/
-NTSTATUS ndr_push_uint64(struct ndr_push *ndr, uint64_t v)
+NTSTATUS ndr_push_udlong(struct ndr_push *ndr, uint64_t v)
{
NDR_PUSH_ALIGN(ndr, 4);
NDR_PUSH_NEED_BYTES(ndr, 8);
@@ -343,18 +343,18 @@ NTSTATUS ndr_push_uint64(struct ndr_push *ndr, uint64_t v)
/*
push a int64
*/
-NTSTATUS ndr_push_int64(struct ndr_push *ndr, int64_t v)
+NTSTATUS ndr_push_dlong(struct ndr_push *ndr, int64_t v)
{
- return ndr_push_uint64(ndr, (uint64_t)v);
+ return ndr_push_udlong(ndr, (uint64_t)v);
}
/*
push a HYPER_T
*/
-NTSTATUS ndr_push_HYPER_T(struct ndr_push *ndr, HYPER_T v)
+NTSTATUS ndr_push_HYPER_T(struct ndr_push *ndr, uint64_t v)
{
NDR_PUSH_ALIGN(ndr, 8);
- return ndr_push_uint64(ndr, v);
+ return ndr_push_udlong(ndr, v);
}
NTSTATUS ndr_push_align(struct ndr_push *ndr, size_t size)
@@ -435,7 +435,7 @@ NTSTATUS ndr_push_array_uint32(struct ndr_push *ndr, int ndr_flags, const uint32
/*
push an array of HYPER_T
*/
-NTSTATUS ndr_push_array_HYPER_T(struct ndr_push *ndr, int ndr_flags, const HYPER_T *data, uint32_t n)
+NTSTATUS ndr_push_array_HYPER_T(struct ndr_push *ndr, int ndr_flags, const uint64_t *data, uint32_t n)
{
int i;
if (!(ndr_flags & NDR_SCALARS)) {
@@ -946,7 +946,7 @@ size_t ndr_string_array_size(struct ndr_push *ndr, const char *s)
*/
NTSTATUS ndr_push_NTTIME(struct ndr_push *ndr, NTTIME t)
{
- NDR_CHECK(ndr_push_uint64(ndr, t));
+ NDR_CHECK(ndr_push_udlong(ndr, t));
return NT_STATUS_OK;
}
@@ -955,7 +955,7 @@ NTSTATUS ndr_push_NTTIME(struct ndr_push *ndr, NTTIME t)
*/
NTSTATUS ndr_pull_NTTIME(struct ndr_pull *ndr, NTTIME *t)
{
- NDR_CHECK(ndr_pull_uint64(ndr, t));
+ NDR_CHECK(ndr_pull_udlong(ndr, t));
return NT_STATUS_OK;
}
@@ -982,7 +982,7 @@ NTSTATUS ndr_pull_NTTIME_1sec(struct ndr_pull *ndr, NTTIME *t)
/*
pull a NTTIME_hyper
*/
-NTSTATUS ndr_pull_NTTIME_hyper(struct ndr_pull *ndr, NTTIME_hyper *t)
+NTSTATUS ndr_pull_NTTIME_hyper(struct ndr_pull *ndr, NTTIME *t)
{
NDR_CHECK(ndr_pull_HYPER_T(ndr, t));
return NT_STATUS_OK;
@@ -991,7 +991,7 @@ NTSTATUS ndr_pull_NTTIME_hyper(struct ndr_pull *ndr, NTTIME_hyper *t)
/*
push a NTTIME_hyper
*/
-NTSTATUS ndr_push_NTTIME_hyper(struct ndr_push *ndr, NTTIME_hyper t)
+NTSTATUS ndr_push_NTTIME_hyper(struct ndr_push *ndr, NTTIME t)
{
NDR_CHECK(ndr_push_HYPER_T(ndr, t));
return NT_STATUS_OK;
@@ -1068,7 +1068,7 @@ void ndr_print_int32(struct ndr_print *ndr, const char *name, int32_t v)
ndr->print(ndr, "%-25s: %d", name, v);
}
-void ndr_print_uint64(struct ndr_print *ndr, const char *name, uint64_t v)
+void ndr_print_udlong(struct ndr_print *ndr, const char *name, uint64_t v)
{
ndr->print(ndr, "%-25s: 0x%08x%08x (%llu)", name,
(uint32_t)(v >> 32),
@@ -1076,7 +1076,7 @@ void ndr_print_uint64(struct ndr_print *ndr, const char *name, uint64_t v)
v);
}
-void ndr_print_int64(struct ndr_print *ndr, const char *name, int64_t v)
+void ndr_print_dlong(struct ndr_print *ndr, const char *name, int64_t v)
{
ndr->print(ndr, "%-25s: 0x%08x%08x (%lld)", name,
(uint32_t)(v >> 32),
@@ -1084,9 +1084,9 @@ void ndr_print_int64(struct ndr_print *ndr, const char *name, int64_t v)
v);
}
-void ndr_print_HYPER_T(struct ndr_print *ndr, const char *name, HYPER_T v)
+void ndr_print_HYPER_T(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_dlong(ndr, name, v);
}
void ndr_print_ptr(struct ndr_print *ndr, const char *name, const void *p)
@@ -1112,7 +1112,7 @@ 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_1sec t)
+void ndr_print_NTTIME_1sec(struct ndr_print *ndr, const char *name, NTTIME t)
{
/* this is a standard NTTIME here
* as it's already converted in the pull/push code
@@ -1120,7 +1120,7 @@ void ndr_print_NTTIME_1sec(struct ndr_print *ndr, const char *name, NTTIME_1sec
ndr_print_NTTIME(ndr, name, t);
}
-void ndr_print_NTTIME_hyper(struct ndr_print *ndr, const char *name, NTTIME_hyper t)
+void ndr_print_NTTIME_hyper(struct ndr_print *ndr, const char *name, NTTIME t)
{
ndr_print_NTTIME(ndr, name, t);
}
@@ -1163,7 +1163,7 @@ void ndr_print_array_WERROR(struct ndr_print *ndr, const char *name,
}
void ndr_print_array_HYPER_T(struct ndr_print *ndr, const char *name,
- const HYPER_T *data, uint32_t count)
+ const uint64_t *data, uint32_t count)
{
int i;