loci: remove handwritten wire_object_id_get functions
diff --git a/c_gen/c_type_maps.py b/c_gen/c_type_maps.py
index ac4a972..fb961ca 100644
--- a/c_gen/c_type_maps.py
+++ b/c_gen/c_type_maps.py
@@ -703,7 +703,6 @@
 extern void of_object_message_wire_length_set(of_object_t *obj, int bytes);
 
 extern void of_oxm_wire_length_get(of_object_t *obj, int *bytes);
-extern void of_oxm_wire_object_id_get(of_object_t *obj, of_object_id_t *id);
 
 extern void of_tlv16_wire_length_get(of_object_t *obj, int *bytes);
 extern void of_tlv16_wire_length_set(of_object_t *obj, int bytes);
@@ -712,21 +711,6 @@
 extern void of_u16_len_wire_length_get(of_object_t *obj, int *bytes);
 extern void of_u16_len_wire_length_set(of_object_t *obj, int bytes);
 
-extern void of_action_wire_object_id_get(of_object_t *obj, of_object_id_t *id);
-extern void of_action_id_wire_object_id_get(of_object_t *obj, of_object_id_t *id);
-extern void of_instruction_wire_object_id_get(of_object_t *obj,
-    of_object_id_t *id);
-extern void of_queue_prop_wire_object_id_get(of_object_t *obj,
-    of_object_id_t *id);
-extern void of_table_feature_prop_wire_object_id_get(of_object_t *obj,
-    of_object_id_t *id);
-extern void of_meter_band_wire_object_id_get(of_object_t *obj,
-    of_object_id_t *id);
-extern void of_hello_elem_wire_object_id_get(of_object_t *obj,
-    of_object_id_t *id);
-extern void of_bsn_tlv_wire_object_id_get(of_object_t *obj,
-    of_object_id_t *id);
-
 #define OF_OXM_LENGTH_GET(hdr) (((hdr) & 0xff) + 4)
 #define OF_OXM_LENGTH_SET(hdr, val)                         \\
     (hdr) = ((hdr) & 0xffffff00) + (((val) - 4) & 0xff)
diff --git a/c_gen/templates/of_type_maps.c b/c_gen/templates/of_type_maps.c
index c00694c..8a02393 100644
--- a/c_gen/templates/of_type_maps.c
+++ b/c_gen/templates/of_type_maps.c
@@ -121,331 +121,6 @@
         OF_OBJECT_ABSOLUTE_OFFSET(obj, TLV16_WIRE_LENGTH_OFFSET), bytes);
 }
 
-/**
- * Get the type field from the wire for a standard TLV object that uses
- * uint16 for both type and length.
- * @param obj The object being referenced
- * @param wire_type (out) Where to store the type
- */
-
-static void
-of_tlv16_wire_type_get(of_object_t *obj, int *wire_type)
-{
-    uint16_t val16;
-    of_wire_buffer_t *wbuf = OF_OBJECT_TO_WBUF(obj);
-
-    of_wire_buffer_u16_get(wbuf, OF_OBJECT_ABSOLUTE_OFFSET(obj, 
-           TLV16_WIRE_TYPE_OFFSET), &val16);
-
-    *wire_type = val16;
-}
-
-/**
- * Get the object ID of an extended action
- * @param obj The object being referenced
- * @param id Where to store the object ID
- * @fixme:  This should be auto generated
- *
- * If unable to map to known extension, set id to generic "experimenter"
- */
-
-#define OF_ACTION_EXPERIMENTER_ID_OFFSET 4
-#define OF_ACTION_EXPERIMENTER_SUBTYPE_OFFSET 8
-
-
-static void
-extension_action_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    uint32_t exp_id;
-    uint8_t *buf;
-
-    *id = OF_ACTION_EXPERIMENTER;
-
-    buf = OF_OBJECT_BUFFER_INDEX(obj, 0);
-    
-    buf_u32_get(buf + OF_ACTION_EXPERIMENTER_ID_OFFSET, &exp_id);
-
-    switch (exp_id) {
-    case OF_EXPERIMENTER_ID_BSN: {
-        uint32_t subtype;
-        buf_u32_get(buf + OF_ACTION_EXPERIMENTER_SUBTYPE_OFFSET, &subtype);
-        switch (subtype) {
-        case 1: *id = OF_ACTION_BSN_MIRROR; break;
-        case 2: *id = OF_ACTION_BSN_SET_TUNNEL_DST; break;
-        }
-        break;
-    }
-    case OF_EXPERIMENTER_ID_NICIRA: {
-        uint16_t subtype;
-        buf_u16_get(buf + OF_ACTION_EXPERIMENTER_SUBTYPE_OFFSET, &subtype);
-        switch (subtype) {
-        case 18: *id = OF_ACTION_NICIRA_DEC_TTL; break;
-        }
-        break;
-    }
-    }
-}
-
-/**
- * Get the object ID of an extended action
- * @param obj The object being referenced
- * @param id Where to store the object ID
- * @fixme:  This should be auto generated
- *
- * If unable to map to known extension, set id to generic "experimenter"
- */
-
-static void
-extension_action_id_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    uint32_t exp_id;
-    uint8_t *buf;
-
-    *id = OF_ACTION_ID_EXPERIMENTER;
-
-    buf = OF_OBJECT_BUFFER_INDEX(obj, 0);
-    
-    buf_u32_get(buf + OF_ACTION_EXPERIMENTER_ID_OFFSET, &exp_id);
-
-    switch (exp_id) {
-    case OF_EXPERIMENTER_ID_BSN: {
-        uint32_t subtype;
-        buf_u32_get(buf + OF_ACTION_EXPERIMENTER_SUBTYPE_OFFSET, &subtype);
-        switch (subtype) {
-        case 1: *id = OF_ACTION_ID_BSN_MIRROR; break;
-        case 2: *id = OF_ACTION_ID_BSN_SET_TUNNEL_DST; break;
-        }
-        break;
-    }
-    case OF_EXPERIMENTER_ID_NICIRA: {
-        uint16_t subtype;
-        buf_u16_get(buf + OF_ACTION_EXPERIMENTER_SUBTYPE_OFFSET, &subtype);
-        switch (subtype) {
-        case 18: *id = OF_ACTION_ID_NICIRA_DEC_TTL; break;
-        }
-        break;
-    }
-    }
-}
-
-
-/**
- * Get the object ID based on the wire buffer for an action object
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-
-void
-of_action_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    if (wire_type == OF_EXPERIMENTER_TYPE) {
-        extension_action_object_id_get(obj, id);
-        return;
-    }
-
-    LOCI_ASSERT(wire_type >= 0 && wire_type < OF_ACTION_ITEM_COUNT);
-
-    *id = of_action_type_to_id[obj->version][wire_type];
-    LOCI_ASSERT(*id != OF_OBJECT_INVALID);
-}
-
-/**
- * Get the object ID based on the wire buffer for an action ID object
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-
-void
-of_action_id_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    if (wire_type == OF_EXPERIMENTER_TYPE) {
-        extension_action_id_object_id_get(obj, id);
-        return;
-    }
-
-    LOCI_ASSERT(wire_type >= 0 && wire_type < OF_ACTION_ID_ITEM_COUNT);
-
-    *id = of_action_id_type_to_id[obj->version][wire_type];
-    LOCI_ASSERT(*id != OF_OBJECT_INVALID);
-}
-
-/**
- * @fixme to do when we have instruction extensions
- * See extension_action above
- */
-
-static int
-extension_instruction_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    uint32_t exp_id;
-    uint8_t *buf;
-
-    *id = OF_INSTRUCTION_EXPERIMENTER;
-
-    buf = OF_OBJECT_BUFFER_INDEX(obj, 0);
-
-    buf_u32_get(buf + OF_INSTRUCTION_EXPERIMENTER_ID_OFFSET, &exp_id);
-
-    switch (exp_id) {
-    case OF_EXPERIMENTER_ID_BSN: {
-        uint32_t subtype;
-        buf_u32_get(buf + OF_INSTRUCTION_EXPERIMENTER_SUBTYPE_OFFSET, &subtype);
-        switch (subtype) {
-        case 0: *id = OF_INSTRUCTION_BSN_DISABLE_SRC_MAC_CHECK; break;
-        case 1: *id = OF_INSTRUCTION_BSN_ARP_OFFLOAD; break;
-        case 2: *id = OF_INSTRUCTION_BSN_DHCP_OFFLOAD; break;
-        case 3: *id = OF_INSTRUCTION_BSN_DISABLE_SPLIT_HORIZON_CHECK; break;
-        case 4: *id = OF_INSTRUCTION_BSN_PERMIT; break;
-        case 5: *id = OF_INSTRUCTION_BSN_DENY; break;
-        }
-        break;
-    }
-    }
-
-    return OF_ERROR_NONE;
-}
-
-/**
- * Get the object ID based on the wire buffer for an instruction object
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-void
-of_instruction_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    if (wire_type == OF_EXPERIMENTER_TYPE) {
-        extension_instruction_object_id_get(obj, id);
-        return;
-    }
-
-    LOCI_ASSERT(wire_type >= 0 && wire_type < OF_INSTRUCTION_ITEM_COUNT);
-
-    *id = of_instruction_type_to_id[obj->version][wire_type];
-    LOCI_ASSERT(*id != OF_OBJECT_INVALID);
-}
-
-
-/**
- * @fixme to do when we have queue_prop extensions
- * See extension_action above
- */
-
-static void
-extension_queue_prop_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    (void)obj;
-
-    *id = OF_QUEUE_PROP_EXPERIMENTER;
-}
-
-/**
- * Get the object ID based on the wire buffer for an queue_prop object
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-void
-of_queue_prop_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    if (wire_type == OF_EXPERIMENTER_TYPE) {
-        extension_queue_prop_object_id_get(obj, id);
-        return;
-    }
-
-    LOCI_ASSERT(wire_type >= 0 && wire_type < OF_QUEUE_PROP_ITEM_COUNT);
-
-    *id = of_queue_prop_type_to_id[obj->version][wire_type];
-    LOCI_ASSERT(*id != OF_OBJECT_INVALID);
-}
-
-
-/**
- * Table feature property object ID determination
- *
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-void
-of_table_feature_prop_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    *id = of_table_feature_prop_to_object_id(wire_type, obj->version);
-}
-
-/**
- * Get the object ID based on the wire buffer for meter_band object
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-void
-of_meter_band_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    if (wire_type == OF_EXPERIMENTER_TYPE) {
-        *id = OF_METER_BAND_EXPERIMENTER;
-        return;
-    }
-
-    LOCI_ASSERT(wire_type >= 0 && wire_type < OF_METER_BAND_ITEM_COUNT);
-
-    *id = of_meter_band_type_to_id[obj->version][wire_type];
-    LOCI_ASSERT(*id != OF_OBJECT_INVALID);
-}
-
-/**
- * Get the object ID based on the wire buffer for a hello_elem object
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-void
-of_hello_elem_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    LOCI_ASSERT(wire_type >= 0 && wire_type < OF_HELLO_ELEM_ITEM_COUNT);
-    *id = of_hello_elem_type_to_id[obj->version][wire_type];
-    LOCI_ASSERT(*id != OF_OBJECT_INVALID);
-}
-
-/**
- * Get the object ID based on the wire buffer for a bsn_tlv object
- * @param obj The object being referenced
- * @param id Where to store the object ID
- */
-
-void
-of_bsn_tlv_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    int wire_type;
-
-    of_tlv16_wire_type_get(obj, &wire_type);
-    LOCI_ASSERT(wire_type >= 0 && wire_type < OF_BSN_TLV_ITEM_COUNT);
-    *id = of_bsn_tlv_type_to_id[obj->version][wire_type];
-    LOCI_ASSERT(*id != OF_OBJECT_INVALID);
-}
 
 /****************************************************************
  * OXM type/length functions.
@@ -491,22 +166,6 @@
     *bytes = OF_OXM_LENGTH_GET(type_len);
 }
 
-/**
- * Get the object ID of an OXM object based on the wire buffer type
- * @param obj The object whose wire buffer is an OXM type
- * @param id (out) Where the ID is stored 
- */
-
-void
-of_oxm_wire_object_id_get(of_object_t *obj, of_object_id_t *id)
-{
-    uint32_t type_len;
-    of_wire_buffer_t *wbuf;
-
-    _GET_OXM_TYPE_LEN(obj, &type_len, wbuf);
-    *id = of_oxm_to_object_id(type_len, obj->version);
-}
-
 #define OF_U16_LEN_LENGTH_OFFSET 0
 
 /**