aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/dcerpc
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-03-15 09:36:18 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-03-15 09:36:18 +0000
commitb140a83293c9b99ba09ecf77025167330e957be5 (patch)
tree23ba6549359383cd2fe0e180ac9fa5268b356489 /epan/dissectors/dcerpc
parent5d7b72fd86ba42bdd440717def5878c40ab86c56 (diff)
more idl2eth and drsuapi updates
svn path=/trunk/; revision=13759
Diffstat (limited to 'epan/dissectors/dcerpc')
-rw-r--r--epan/dissectors/dcerpc/drsuapi/drsuapi.idl65
-rw-r--r--epan/dissectors/dcerpc/idl2eth.c19
2 files changed, 50 insertions, 34 deletions
diff --git a/epan/dissectors/dcerpc/drsuapi/drsuapi.idl b/epan/dissectors/dcerpc/drsuapi/drsuapi.idl
index e76f9249e3..0a4a7d93fa 100644
--- a/epan/dissectors/dcerpc/drsuapi/drsuapi.idl
+++ b/epan/dissectors/dcerpc/drsuapi/drsuapi.idl
@@ -238,8 +238,7 @@ interface drsuapi
typedef struct {
drsuapi_DsReplicaCoursor coursor;
-# NTTIME_1sec time1;
- hyper time1;
+ NTTIME_1sec time1;
} drsuapi_DsReplicaCoursorEx;
typedef struct {
@@ -291,23 +290,23 @@ interface drsuapi
DRSUAPI_DS_REPLICA_UPDATE_0x00000010 = 0x00000010
} drsuapi_DsReplicaUpdateRefsOptions;
-# typedef struct {
-# uint32 unknown1;
-# uint32 unknown2;
-# GUID dest_dsa_guid;
-# drsuapi_DsReplicaUpdateRefsOptions options;
-# drsuapi_DsReplicaSyncRequest1Info sync_req_info1;
-# ascstr dest_dsa_dns_name;
-# } drsuapi_DsReplicaUpdateRefsRequest1;
-#
-# typedef [switch_type(int32)] union {
-# [case(1)] drsuapi_DsReplicaUpdateRefsRequest1 req1;
-# } drsuapi_DsReplicaUpdateRefsRequest;
+ typedef struct {
+ uint32 unknown1;
+ uint32 unknown2;
+ GUID dest_dsa_guid;
+ drsuapi_DsReplicaUpdateRefsOptions options;
+ drsuapi_DsReplicaSyncRequest1Info sync_req_info1;
+ ascstr dest_dsa_dns_name;
+ } drsuapi_DsReplicaUpdateRefsRequest1;
+
+ typedef [switch_type(int32)] union {
+ [case(1)] drsuapi_DsReplicaUpdateRefsRequest1 req1;
+ } drsuapi_DsReplicaUpdateRefsRequest;
WERROR drsuapi_DsReplicaUpdateRefs(
-# [in,ref] policy_handle *bind_handle,
-# [in] int32 level,
-# [in,switch_is(level)] drsuapi_DsReplicaUpdateRefsRequest req
+ [in,ref] policy_handle *bind_handle,
+ [in] int32 level,
+ [in,switch_is(level)] drsuapi_DsReplicaUpdateRefsRequest req
);
/*****************/
@@ -787,21 +786,21 @@ interface drsuapi
[size_is(count)] drsuapi_DsReplicaAttrValMetaData2 array[];
} drsuapi_DsReplicaAttrValMetaData2Ctr;
-# typedef struct {
-# hyper u1; /* session number? */
-# uint32 u2;
-# uint32 u3;
-# GUID bind_guid;
-# NTTIME_1sec bind_time;
-# uint32 u4; /* flags? */
-# uint32 u5;
-# } drsuapi_DsReplicaConnection04;
-#
-# typedef struct {
-# [range(0,10000)] uint32 count;
-# uint32 reserved;
-# [size_is(count)] drsuapi_DsReplicaConnection04 array[];
-# } drsuapi_DsReplicaConnection04Ctr;
+ typedef struct {
+ hyper u1; /* session number? */
+ uint32 u2;
+ uint32 u3;
+ GUID bind_guid;
+ NTTIME_1sec bind_time;
+ uint32 u4; /* flags? */
+ uint32 u5;
+ } drsuapi_DsReplicaConnection04;
+
+ typedef struct {
+ [range(0,10000)] uint32 count;
+ uint32 reserved;
+ [size_is(count)] drsuapi_DsReplicaConnection04 array[];
+ } drsuapi_DsReplicaConnection04Ctr;
typedef struct {
unistr *str1;
@@ -833,7 +832,7 @@ interface drsuapi
[case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;
[case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;
[case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] drsuapi_DsReplicaNeighbourCtr *neighbours02;
-# [case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] drsuapi_DsReplicaConnection04Ctr *connections04;
+ [case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] drsuapi_DsReplicaConnection04Ctr *connections04;
[case(DRSUAPI_DS_REPLICA_INFO_CURSURS05)] drsuapi_DsReplicaCoursor05Ctr *coursors05;
[case(DRSUAPI_DS_REPLICA_INFO_06)] drsuapi_DsReplica06Ctr *i06;
} drsuapi_DsReplicaInfo;
diff --git a/epan/dissectors/dcerpc/idl2eth.c b/epan/dissectors/dcerpc/idl2eth.c
index 187326416e..679f882fc1 100644
--- a/epan/dissectors/dcerpc/idl2eth.c
+++ b/epan/dissectors/dcerpc/idl2eth.c
@@ -32,6 +32,8 @@ TODO
time_t A 32 bit integer holding a unix style time_t
+ NTTIME_hyper A 64 bit integer representing a NTTIME
+ NTTIME_1sec
bool8
@@ -42,7 +44,6 @@ TODO
uuid_t
policy_handle
NTTIME
- NTTIME_hyper
*/
/* All field dissectors that call a normal type
@@ -1169,6 +1170,22 @@ find_type(char *name)
FPRINTF(eth_code, "}\n");
FPRINTF(eth_code, "\n");
tmptype=register_new_type("NTTIME_hyper", dissectorname, "FT_ABSOLUTE_TIME", "BASE_NONE", "0", "NULL", 4);
+ } else if(!strcmp(name,"NTTIME_1sec")){
+ /* 8 bytes, aligned to 8 bytes */
+ sprintf(dissectorname, "%s_dissect_%s", ifname, name);
+ FPRINTF(NULL,"\nAutogenerating built-in type:%s\n------------\n",name);
+ FPRINTF(eth_code, "\n");
+ FPRINTF(eth_code, "static int\n");
+ FPRINTF(eth_code, "%s(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)\n", dissectorname);
+ FPRINTF(eth_code, "{\n");
+ FPRINTF(eth_code, " ALIGN_TO_8_BYTES;\n");
+ FPRINTF(eth_code, " offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, drep, hf_index);\n");
+
+ FPRINTF(eth_code, "\n");
+ FPRINTF(eth_code, " return offset;\n");
+ FPRINTF(eth_code, "}\n");
+ FPRINTF(eth_code, "\n");
+ tmptype=register_new_type("NTTIME_1sec", dissectorname, "FT_ABSOLUTE_TIME", "BASE_NONE", "0", "NULL", 4);
} else if(!strcmp(name,"udlong")){
/* 8 bytes, aligned to 4 bytes */
sprintf(dissectorname, "%s_dissect_%s", ifname, name);