/* IDL typedef struct { IDL short delta_type; IDL DELTA_ID_UNION delta_id_union; IDL DELTA_UNION delta_union; IDL } DELTA_ENUM;  */
static int netlogon_dissect_DELTA_ENUM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, dcerpc_info *di, guint8 *drep)
/* IDL typedef struct { IDL short delta_type; IDL DELTA_ID_UNION delta_id_union; IDL DELTA_UNION delta_union; IDL } DELTA_ENUM;  */
static int netlogon_dissect_DELTA_ENUM(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, dcerpc_info *di, guint8 *drep)
{
    proto_item *item=NULL;
    proto_tree *tree=NULL;
    int old_offset=offset;
    guint16 type;
    if(parent_tree){
        tree = proto_tree_add_subtree(parent_tree, tvb, offset, 0,
                                   ett_DELTA_ENUM, &item, "DELTA_ENUM:");
    }
    offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep,
                                hf_netlogon_delta_type, &type);
    proto_item_append_text(item, "%s", val_to_str(
                               type, delta_type_vals, "Unknown"));
    offset = netlogon_dissect_DELTA_ID_UNION(tvb, offset,
                                             pinfo, tree, di, drep);
    offset = netlogon_dissect_DELTA_UNION(tvb, offset,
                                          pinfo, tree, di, drep);
    proto_item_set_len(item, offset-old_offset);
    return offset;
}