r7037: Add enough pointers in the header file as well
[samba.git] / source / librpc / idl / orpc.idl
index 8b94059e8952908cb4e85f0ee0a61f2ea6f36e46..1934a3cbed7f4076b36a0832ed44365830940ba2 100644 (file)
@@ -45,7 +45,7 @@ interface ObjectRpcBaseTypes
        } COMVERSION;
 
        /* enumeration of additional information present in the call packet. */
        } COMVERSION;
 
        /* enumeration of additional information present in the call packet. */
-       typedef enum {
+       typedef bitmap {
                ORPCF_NULL =                    0x00, /* no additional info in packet */
                ORPCF_LOCAL =                   0x01, /* call is local to this machine */
                ORPCF_RESERVED1 =               0x02, /* reserved for local use */
                ORPCF_NULL =                    0x00, /* no additional info in packet */
                ORPCF_LOCAL =                   0x01, /* call is local to this machine */
                ORPCF_RESERVED1 =               0x02, /* reserved for local use */
@@ -59,8 +59,7 @@ interface ObjectRpcBaseTypes
        {       
                GUID id; /* Extension identifier. */
                uint32 size; /* Extension size. */
        {       
                GUID id; /* Extension identifier. */
                uint32 size; /* Extension size. */
-               /*FIXME[size_is((size+7)&~7)] uint8 data[]; Extension data. */
-               [size_is(size)] uint8 data[];
+               [size_is(((size+7)&~7))] uint8 data[]; /* Extension data. */
        }       ORPC_EXTENT;
 
 
        }       ORPC_EXTENT;
 
 
@@ -69,8 +68,7 @@ interface ObjectRpcBaseTypes
        {
                uint32 size; /* Num extents. */
                uint32 reserved; /* Must be zero. */
        {
                uint32 size; /* Num extents. */
                uint32 reserved; /* Must be zero. */
-               /*FIXME[size_is((size+1)&~1,), unique] ORPC_EXTENT **extent; extents */
-               [size_is(size)] ORPC_EXTENT extent[];
+               [size_is(((size+1)&~1))] ORPC_EXTENT **extent; /* extents */
        } ORPC_EXTENT_ARRAY;
 
 
        } ORPC_EXTENT_ARRAY;
 
 
@@ -99,7 +97,7 @@ interface ObjectRpcBaseTypes
 
        /* DUALSTRINGARRAYS are the return type for arrays of network addresses, */
        /* arrays of endpoints and arrays of both used in many ORPC interfaces */
 
        /* DUALSTRINGARRAYS are the return type for arrays of network addresses, */
        /* arrays of endpoints and arrays of both used in many ORPC interfaces */
-       typedef [public] struct 
+       typedef [public,flag(NDR_NOALIGN)] struct 
        {
                uint16 wTowerId; /* Cannot be zero. */
                nstring NetworkAddr; 
        {
                uint16 wTowerId; /* Cannot be zero. */
                nstring NetworkAddr; 
@@ -107,9 +105,10 @@ interface ObjectRpcBaseTypes
 
 
        const uint16 COM_C_AUTHZ_NONE = 0xffff;
 
 
        const uint16 COM_C_AUTHZ_NONE = 0xffff;
-       typedef [public] struct 
+       typedef [public,flag(NDR_NOALIGN)] struct 
        {
                uint16 wAuthnSvc; /* Cannot be zero. */
        {
                uint16 wAuthnSvc; /* Cannot be zero. */
+               uint16 wAuthzSvc;
                nstring PrincName; 
        }       SECURITYBINDING;
 
                nstring PrincName; 
        }       SECURITYBINDING;
 
@@ -130,7 +129,7 @@ interface ObjectRpcBaseTypes
        /* Flag values for a STDOBJREF (standard part of an OBJREF). */
        /* SORF_OXRES1 - SORF_OXRES8 are reserved for the object exporters */
        /* use only, object importers must ignore them and must not enforce MBZ. */
        /* Flag values for a STDOBJREF (standard part of an OBJREF). */
        /* SORF_OXRES1 - SORF_OXRES8 are reserved for the object exporters */
        /* use only, object importers must ignore them and must not enforce MBZ. */
-       typedef enum {
+       typedef bitmap {
                SORF_NULL   = 0x0000, /* convenient for initializing SORF */
                SORF_OXRES1 = 0x0001, /* reserved for exporter */
                SORF_OXRES2 = 0x0020, /* reserved for exporter */
                SORF_NULL   = 0x0000, /* convenient for initializing SORF */
                SORF_OXRES1 = 0x0001, /* reserved for exporter */
                SORF_OXRES2 = 0x0020, /* reserved for exporter */