<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile doxygen_version="1.9.4">
  <compound kind="file">
    <name>control_cmd.h</name>
    <path>/build/_osmocom_api/libosmocore/include/osmocom/ctrl/</path>
    <filename>control__cmd_8h.html</filename>
    <class kind="struct">ctrl_connection</class>
    <class kind="struct">ctrl_cmd</class>
    <class kind="struct">ctrl_cmd_struct</class>
    <class kind="struct">ctrl_cmd_element</class>
    <class kind="struct">ctrl_cmd_map</class>
    <class kind="struct">ctrl_cmd_def</class>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_ERROR</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>ae724fc36815bc4516e2b3bb917d518ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_HANDLED</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a0579e2c5ffc95697db56ee8e710d87b7</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_REPLY</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a9e5d0ebc447dbeab80c38b1dd8acd39a</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_TRAP_ID</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a024b9059db6c4f94792e198d414671ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ctrl_cmd_reply_printf</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>ab0f8cca36ad580e7b838845dc96d873d</anchor>
      <arglist>(cmd, fmt, args ...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_DEFINE_STRUCT</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a5b97c5b76fd5e72a2d427808fa0c7d82</anchor>
      <arglist>(cmdname, cmdstr, verify_name)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_HELPER_GET_INT</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a1634e0c8b2c846f23b73c090857effee</anchor>
      <arglist>(cmdname, dtype, element)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_HELPER_SET_INT</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a121bbaa4ae75e7356292a424ad6a80a8</anchor>
      <arglist>(cmdname, dtype, element)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_HELPER_VERIFY_RANGE</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a6569923825a23455d966369cfb7f6c20</anchor>
      <arglist>(cmdname, min, max)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_DEFINE_RANGE</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>ab1069475b00a8a804799226caafe7129</anchor>
      <arglist>(cmdname, cmdstr, dtype, element, min, max)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_HELPER_GET_STRING</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a020f7007788be5e8a93169c048979e1b</anchor>
      <arglist>(cmdname, dtype, element)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_HELPER_SET_STRING</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a3d7e10e02b48525bd586f433a648cf10</anchor>
      <arglist>(cmdname, dtype, element)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_DEFINE_STRING</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a3fea588be7ae10aa857754fe45c9b131</anchor>
      <arglist>(cmdname, cmdstr, dtype, element)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_DEFINE</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>ac49196b5a8a8eddd47e1891137b4444b</anchor>
      <arglist>(cmdname, cmdstr)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_DEFINE_RO</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a72feedb52ea8520ce2f1c4ea348e3fc3</anchor>
      <arglist>(cmdname, cmdstr)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_DEFINE_WO</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a76b891dc1df26e42e620432a9eece027</anchor>
      <arglist>(cmdname, cmdstr)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CTRL_CMD_DEFINE_WO_NOVRF</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a079b6ff00061b40c4d044a830f566dd4</anchor>
      <arglist>(cmdname, cmdstr)</arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ctrl_node_type</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_NODE_ROOT</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262a1106cc92b48ad0d4c92cc58d4287be47</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_NODE_BTS</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262abda9ca7f05c4c8572e6e669f72136702</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_NODE_TRX</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262aad8d2933935f5f415c31d9947ba23dd2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_NODE_TS</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262a944de79edb8a69eda08184c67e86eef3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_NODE_FSM</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262a8756180d0bec610c55b842558b03b8cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_NODE_FSM_INST</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262ada57f99890f5a474f9042bcc4a9a1e98</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_NODE_LCHAN</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262a652d3c2e3de365c8b092920fe81f024f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>_LAST_CTRL_NODE</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aacfd6242d4c8eb9d70354cb2d57d5262a670aff75655b1cd14077e3538a89cf3b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ctrl_type</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_TYPE_UNKNOWN</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794cadfe85fecfe07de1ba2de6afc90cfa96d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_TYPE_GET</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794ca728b60565ea5287cccf4e4be62943e46</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_TYPE_SET</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794ca4bf33d7a646cab7d32fab9f4ea47cc9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_TYPE_GET_REPLY</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794ca326f5b828d845b72fe1c3f8707cb441e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_TYPE_SET_REPLY</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794ca40ef5c72f75f897ab5adc4c594e61935</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_TYPE_TRAP</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794caf86abcdb494dda5b99bbc5d1b59486c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CTRL_TYPE_ERROR</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a009b994cda9bda0f88e892ba1234794ca3d58b4b22596e5092158f6717d7ac77f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd_def *</type>
      <name>ctrl_cmd_def_make</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a9e91e86808a88f4b16cc31a1a04e3420</anchor>
      <arglist>(const void *ctx, struct ctrl_cmd *cmd, void *data, unsigned int secs)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_def_is_zombie</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a96d3c6021102409885ac6c4a294709ce</anchor>
      <arglist>(struct ctrl_cmd_def *cd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_def_send</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aa6ec2019f953a82284534fdc8d04dc46</anchor>
      <arglist>(struct ctrl_cmd_def *cd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_exec</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aea6cb8951a026d0689c3499de37dbdec</anchor>
      <arglist>(vector vline, struct ctrl_cmd *command, vector node, void *data)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_install</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>ad7e673e111a7a19c6a2467674fd825b1</anchor>
      <arglist>(enum ctrl_node_type node, struct ctrl_cmd_element *cmd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>ac556c96fd7df0ee6a5ea3c3826bd037e</anchor>
      <arglist>(struct osmo_wqueue *queue, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send_to_all</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a68a762ce294f8c17c41fca2410df76b5</anchor>
      <arglist>(struct ctrl_handle *ctrl, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_parse3</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a52caa313b2ff6ffdce5392259dcf1125</anchor>
      <arglist>(void *ctx, struct msgb *msg, bool *parse_failed)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_parse2</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aab5c1fbea4b0a20f82af32194d390e76</anchor>
      <arglist>(void *ctx, struct msgb *msg)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_parse</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a1fb1544dc2399710a88db9654e6978eb</anchor>
      <arglist>(void *ctx, struct msgb *msg)</arglist>
    </member>
    <member kind="function">
      <type>struct msgb *</type>
      <name>ctrl_cmd_make</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a3b1dd88cc91fb544488b6f4916130fab</anchor>
      <arglist>(struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_cpy</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>aa976d38595380ba6259ca535b019fa65</anchor>
      <arglist>(void *ctx, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_create</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a25bcde3e5e3c486fd81b810a6e825dbb</anchor>
      <arglist>(void *ctx, enum ctrl_type)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_trap</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a28ccd4b19057b05c2af8ff6372c53d7a</anchor>
      <arglist>(struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="variable">
      <type>const struct value_string</type>
      <name>ctrl_type_vals</name>
      <anchorfile>control__cmd_8h.html</anchorfile>
      <anchor>a6795a9d1de9572b4a6de18b7ca3cdcc8</anchor>
      <arglist>[]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>control_if.h</name>
    <path>/build/_osmocom_api/libosmocore/include/osmocom/ctrl/</path>
    <filename>control__if_8h.html</filename>
    <includes id="control__cmd_8h" name="control_cmd.h" local="no" imported="no">osmocom/ctrl/control_cmd.h</includes>
    <class kind="struct">ctrl_handle</class>
    <member kind="typedef">
      <type>int(*</type>
      <name>ctrl_cmd_lookup</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a9cf93dcc7af6485216ff332966dd9c09</anchor>
      <arglist>)(void *data, vector vline, int *node_type, void **node_data, int *i)</arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>ctrl_cmd_reply_cb</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a06303a3dfb5debef99ecb539079e6db0</anchor>
      <arglist>)(struct ctrl_handle *ctrl, struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_parse_get_num</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a525af25e0b2344b8b1286c388f721679</anchor>
      <arglist>(vector vline, int i, long *num)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a30e330468442167276a894ed56867088</anchor>
      <arglist>(struct osmo_wqueue *queue, struct ctrl_cmd *cmd) OSMO_DEPRECATED(&quot;Use ctrl_cmd_send2() instead.&quot;)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send2</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a333b790a8ea3d108265bc8cb633634dc</anchor>
      <arglist>(struct ctrl_connection *ccon, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send_trap</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>ad0e8f381fedade3a380010189d574243</anchor>
      <arglist>(struct ctrl_handle *ctrl, const char *name, char *value)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_handle_alloc</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a9c07f83fe1a90d038d3a0e65e2820880</anchor>
      <arglist>(void *ctx, void *data, ctrl_cmd_lookup lookup)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_handle_alloc2</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>aaf1128fc2d419f0cefe229c71ebf6781</anchor>
      <arglist>(void *ctx, void *data, ctrl_cmd_lookup lookup, unsigned int node_count)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>ab887e2f076614ba799229a404f872d85</anchor>
      <arglist>(void *data, uint16_t port, ctrl_cmd_lookup lookup)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup2</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a06d01723e9d328b7dcf6dde2bf4824ad</anchor>
      <arglist>(void *data, uint16_t default_port, ctrl_cmd_lookup lookup, unsigned int node_count)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup_dynip</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a96ad50604586793baa3e83a16d6d2ae4</anchor>
      <arglist>(void *data, const char *bind_addr, uint16_t port, ctrl_cmd_lookup lookup) OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup_dynip2</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a06a35bf81632643d15bb70a18287566d</anchor>
      <arglist>(void *data, const char *bind_addr, uint16_t port, ctrl_cmd_lookup lookup, unsigned int node_count) OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_connection *</type>
      <name>osmo_ctrl_conn_alloc</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a7b2022943b045830f488d101c9253e80</anchor>
      <arglist>(void *ctx, void *data)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_handle</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a8879414ec4d516079cedc58b39d2c990</anchor>
      <arglist>(struct ctrl_handle *ctrl, struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_exec_from_string</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>affafcd805595604f1e164f5f7b96cfc5</anchor>
      <arglist>(struct ctrl_handle *ch, const char *cmdstr)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_lookup_register</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>a1247f66c7e761c0a4fd3dedf11f84e40</anchor>
      <arglist>(ctrl_cmd_lookup lookup)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_handle_msg</name>
      <anchorfile>control__if_8h.html</anchorfile>
      <anchor>abebb5f7b19121559a493b6822036fe82</anchor>
      <arglist>(struct ctrl_handle *ctrl, struct ctrl_connection *ccon, struct msgb *msg)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>control_vty.h</name>
    <path>/build/_osmocom_api/libosmocore/include/osmocom/ctrl/</path>
    <filename>control__vty_8h.html</filename>
    <member kind="function">
      <type>int</type>
      <name>ctrl_vty_init</name>
      <anchorfile>control__vty_8h.html</anchorfile>
      <anchor>a5855906a0c3e10b0ab6a5bcbacac0cc7</anchor>
      <arglist>(void *ctx)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>ctrl_vty_get_bind_addr</name>
      <anchorfile>control__vty_8h.html</anchorfile>
      <anchor>a9ebb9783d7204a1ada74b0ce6fca09f1</anchor>
      <arglist>(void)</arglist>
    </member>
    <member kind="function">
      <type>uint16_t</type>
      <name>ctrl_vty_get_bind_port</name>
      <anchorfile>control__vty_8h.html</anchorfile>
      <anchor>a9b5e46bb696d1fcf274cdca15fbfd076</anchor>
      <arglist>(uint16_t default_port)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ports.h</name>
    <path>/build/_osmocom_api/libosmocore/include/osmocom/ctrl/</path>
    <filename>ports_8h.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_TRX</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>ae261d099d96c2adaef72f8b8bbf7ac1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_BTS</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a684457d3292d8c64a100ba052e29dc7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_BSC_NEIGH</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>ab107c3f764249358d51fa0c2107a5693</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_NITB_BSC</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a67f70150e2614089ae13c2cde8d5f2b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_BSC_NAT</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>ae7c964ae0e90b48705c3ee0c3ff83623</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_SGSN</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a2f6bef54ae428b1c49644c825cc70993</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_MSC</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a954b3515a97838c5a14a9f9aa74f0255</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_GGSN</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a0eaa01fd8efbdaded3f9c713c261d660</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_HLR</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a8b7a83010aada97694ebaddb9d5cd444</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_HNBGW</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>adb90a284b3bc27debed1143d6be6174e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_GBPROXY</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>ab05f5b17fd05415b2643b97b4faa7aa3</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_CBC</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a248fb9440a8dad3ed2dd3c3162e3629e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_MGW</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a04d48781cbc38fcca6f7659025969ef5</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_SMLC</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>ad97c7c74d4d32d240bfe473cf99db42d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_HNODEB</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a076fd3c2df9f46f919068a58f65f6cbc</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_UPF</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>a05b882d5a362432e3552cb13ae2245d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>OSMO_CTRL_PORT_PFCP_TOOL</name>
      <anchorfile>ports_8h.html</anchorfile>
      <anchor>aee41f1ec8c5db96da353fabf6d593690</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>control_cmd.c</name>
    <path>/build/_osmocom_api/libosmocore/src/ctrl/</path>
    <filename>control__cmd_8c.html</filename>
    <includes id="control__cmd_8h" name="control_cmd.h" local="no" imported="no">osmocom/ctrl/control_cmd.h</includes>
    <includes id="control__if_8h" name="control_if.h" local="no" imported="no">osmocom/ctrl/control_if.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>REPLY_CASE</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>ac66b4d7f9c5bcdc8ba5d204c7a465722</anchor>
      <arglist>(TYPE, NAME)</arglist>
    </member>
    <member kind="function">
      <type>vector</type>
      <name>cmd_make_descvec</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a85e741c2f1b7dc529d2569c12f1ef6b5</anchor>
      <arglist>(const char *string, const char *descstr)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static struct ctrl_cmd_element *</type>
      <name>ctrl_cmd_get_element_match</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>ae385d2f657be281d42e77f5048bda232</anchor>
      <arglist>(vector vline, vector node)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_exec</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>aea6cb8951a026d0689c3499de37dbdec</anchor>
      <arglist>(vector vline, struct ctrl_cmd *command, vector node, void *data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>add_word</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a61e0a0917fc4d246e537a88d5b60b9bc</anchor>
      <arglist>(struct ctrl_cmd_struct *cmd, const char *start, const char *end)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>create_cmd_struct</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>aaca775cc80dff896b523247a294f11a1</anchor>
      <arglist>(struct ctrl_cmd_struct *cmd, const char *name)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_install</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>ad7e673e111a7a19c6a2467674fd825b1</anchor>
      <arglist>(enum ctrl_node_type node, struct ctrl_cmd_element *cmd)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_create</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a2218cc3a39b3f3a83e9cf6f57a7938b2</anchor>
      <arglist>(void *ctx, enum ctrl_type type)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_cpy</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>aa976d38595380ba6259ca535b019fa65</anchor>
      <arglist>(void *ctx, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_parse</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a1fb1544dc2399710a88db9654e6978eb</anchor>
      <arglist>(void *ctx, struct msgb *msg)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>id_str_valid</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a4d5c03939e1091a1952ae395b5e3040d</anchor>
      <arglist>(const char *str)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_parse2</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>aab5c1fbea4b0a20f82af32194d390e76</anchor>
      <arglist>(void *ctx, struct msgb *msg)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_parse3</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a52caa313b2ff6ffdce5392259dcf1125</anchor>
      <arglist>(void *ctx, struct msgb *msg, bool *parse_failed)</arglist>
    </member>
    <member kind="function">
      <type>struct msgb *</type>
      <name>ctrl_cmd_make</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a3b1dd88cc91fb544488b6f4916130fab</anchor>
      <arglist>(struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd_def *</type>
      <name>ctrl_cmd_def_make</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a9e91e86808a88f4b16cc31a1a04e3420</anchor>
      <arglist>(const void *ctx, struct ctrl_cmd *cmd, void *data, unsigned int secs)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_def_is_zombie</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a96d3c6021102409885ac6c4a294709ce</anchor>
      <arglist>(struct ctrl_cmd_def *cd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_def_send</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>aa6ec2019f953a82284534fdc8d04dc46</anchor>
      <arglist>(struct ctrl_cmd_def *cd)</arglist>
    </member>
    <member kind="variable">
      <type>vector</type>
      <name>ctrl_node_vec</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>afedf4b1e97805a8b5ab60dea1ad77813</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const struct value_string</type>
      <name>ctrl_type_vals</name>
      <anchorfile>control__cmd_8c.html</anchorfile>
      <anchor>a6795a9d1de9572b4a6de18b7ca3cdcc8</anchor>
      <arglist>[]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>control_if.c</name>
    <path>/build/_osmocom_api/libosmocore/src/ctrl/</path>
    <filename>control__if_8c.html</filename>
    <includes id="control__cmd_8h" name="control_cmd.h" local="no" imported="no">osmocom/ctrl/control_cmd.h</includes>
    <includes id="control__if_8h" name="control_if.h" local="no" imported="no">osmocom/ctrl/control_if.h</includes>
    <includes id="control__vty_8h" name="control_vty.h" local="no" imported="no">osmocom/ctrl/control_vty.h</includes>
    <class kind="struct">lookup_helper</class>
    <member kind="function">
      <type>int</type>
      <name>osmo_fsm_ctrl_cmds_install</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a75dfd578484300659ab0955fc6da83e6</anchor>
      <arglist>(void)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static</type>
      <name>LLIST_HEAD</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>aa103a81f312f58d139433d14ec8b3edd</anchor>
      <arglist>(ctrl_lookup_helpers)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_parse_get_num</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a525af25e0b2344b8b1286c388f721679</anchor>
      <arglist>(vector vline, int i, long *num)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send_to_all</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a68a762ce294f8c17c41fca2410df76b5</anchor>
      <arglist>(struct ctrl_handle *ctrl, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ac556c96fd7df0ee6a5ea3c3826bd037e</anchor>
      <arglist>(struct osmo_wqueue *queue, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send2</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a333b790a8ea3d108265bc8cb633634dc</anchor>
      <arglist>(struct ctrl_connection *ccon, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_send_trap</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ad0e8f381fedade3a380010189d574243</anchor>
      <arglist>(struct ctrl_handle *ctrl, const char *name, char *value)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_trap</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a28ccd4b19057b05c2af8ff6372c53d7a</anchor>
      <arglist>(struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>control_close_conn</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a33b73c1aaa904219da4f5b0d795e4d9f</anchor>
      <arglist>(struct ctrl_connection *ccon)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_cmd_handle</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a8879414ec4d516079cedc58b39d2c990</anchor>
      <arglist>(struct ctrl_handle *ctrl, struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>handle_control_read</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a41143485204e34c008ffe54d0f0326e8</anchor>
      <arglist>(struct osmo_fd *bfd)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_handle_msg</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>abebb5f7b19121559a493b6822036fe82</anchor>
      <arglist>(struct ctrl_handle *ctrl, struct ctrl_connection *ccon, struct msgb *msg)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>control_write_cb</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>aa4a88f5b5313bf966d39fecca0ed1327</anchor>
      <arglist>(struct osmo_fd *bfd, struct msgb *msg)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_connection *</type>
      <name>osmo_ctrl_conn_alloc</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a7b2022943b045830f488d101c9253e80</anchor>
      <arglist>(void *ctx, void *data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>listen_fd_cb</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a83c0a4f3509b92eae1f9ef8998ff3a1d</anchor>
      <arglist>(struct osmo_fd *listen_bfd, unsigned int what)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint64_t</type>
      <name>get_rate_ctr_value</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a5bb3d2b882a8754567a6ad5bf39ad1ce</anchor>
      <arglist>(const struct rate_ctr *ctr, int intv, const char *grp)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_rate_ctr_group_idx</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a72fd1420a31023c2b0665819841f5939</anchor>
      <arglist>(struct rate_ctr_group *ctrg, int intv, struct ctrl_cmd *cmd)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>ctrl_rate_ctr_group_handler</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ab4f948416895ef9dff5e174d7950f9df</anchor>
      <arglist>(struct rate_ctr_group *ctrg, void *data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CTRL_CMD_DEFINE</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ae1792f798216c7d470e33e82adc885fb</anchor>
      <arglist>(rate_ctr, &quot;rate_ctr *&quot;)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_rate_ctr</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a28415688180dfda44ba423a2f1970fb5</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>set_rate_ctr</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a60fff34071469e745f66c013ab23268e</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>verify_rate_ctr</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a0a16fae641f1d871d7b24316c85bfe35</anchor>
      <arglist>(struct ctrl_cmd *cmd, const char *value, void *data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CTRL_CMD_DEFINE_RO</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ad0d32e19f23bf787f92b36c9662b723f</anchor>
      <arglist>(stat_item, &quot;stat_item *&quot;)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_stat_item</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a6b2864e76864e4eb34740b2a72d2b8e7</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CTRL_CMD_DEFINE</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>af7ca12b1e38f932b8c36c001d571e855</anchor>
      <arglist>(counter, &quot;counter *&quot;)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_counter</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a998e4224620b91817420ebfe2610e170</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>set_counter</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a9060049ba1bac45ee9824a9d4542ebe2</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>verify_counter</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ae4865b5516ff012548f61931d6347fd4</anchor>
      <arglist>(struct ctrl_cmd *cmd, const char *value, void *data)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ab887e2f076614ba799229a404f872d85</anchor>
      <arglist>(void *data, uint16_t port, ctrl_cmd_lookup lookup)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>ctrl_init</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a3485e966ef9b58a5987c4dddda569acb</anchor>
      <arglist>(unsigned int node_count)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_handle_alloc2</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>aaf1128fc2d419f0cefe229c71ebf6781</anchor>
      <arglist>(void *ctx, void *data, ctrl_cmd_lookup lookup, unsigned int node_count)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_handle_alloc</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a9c07f83fe1a90d038d3a0e65e2820880</anchor>
      <arglist>(void *ctx, void *data, ctrl_cmd_lookup lookup)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup_dynip2</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a35786d463b20f1100beaa6a0bdd9d73e</anchor>
      <arglist>(void *data, const char *bind_addr, uint16_t port, ctrl_cmd_lookup lookup, unsigned int node_count)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup_dynip</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a057647aadb0580d25c6e8ce2f9714031</anchor>
      <arglist>(void *data, const char *bind_addr, uint16_t port, ctrl_cmd_lookup lookup)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_handle *</type>
      <name>ctrl_interface_setup2</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a06d01723e9d328b7dcf6dde2bf4824ad</anchor>
      <arglist>(void *data, uint16_t default_port, ctrl_cmd_lookup lookup, unsigned int node_count)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_lookup_register</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>a1247f66c7e761c0a4fd3dedf11f84e40</anchor>
      <arglist>(ctrl_cmd_lookup lookup)</arglist>
    </member>
    <member kind="function">
      <type>struct ctrl_cmd *</type>
      <name>ctrl_cmd_exec_from_string</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>affafcd805595604f1e164f5f7b96cfc5</anchor>
      <arglist>(struct ctrl_handle *ch, const char *cmdstr)</arglist>
    </member>
    <member kind="variable">
      <type>vector</type>
      <name>ctrl_node_vec</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>afedf4b1e97805a8b5ab60dea1ad77813</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static int</type>
      <name>ctrl_initialized</name>
      <anchorfile>control__if_8c.html</anchorfile>
      <anchor>ad9dd56b1ec734da5012c2d559777770e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>control_vty.c</name>
    <path>/build/_osmocom_api/libosmocore/src/ctrl/</path>
    <filename>control__vty_8c.html</filename>
    <includes id="control__vty_8h" name="control_vty.h" local="no" imported="no">osmocom/ctrl/control_vty.h</includes>
    <member kind="function">
      <type></type>
      <name>DEFUN</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>a0e715e32acbd15dc1c3191aaaad5311b</anchor>
      <arglist>(cfg_ctrl_bind_addr, cfg_ctrl_bind_addr_cmd, &quot;bind A.B.C.D [&lt;0-65535&gt;]&quot;, &quot;Set bind address to listen for Control connections\n&quot; &quot;Local IP address (default 127.0.0.1)\n&quot; &quot;Local TCP port number\n&quot;)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>ctrl_vty_get_bind_addr</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>a9ebb9783d7204a1ada74b0ce6fca09f1</anchor>
      <arglist>(void)</arglist>
    </member>
    <member kind="function">
      <type>uint16_t</type>
      <name>ctrl_vty_get_bind_port</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>a9b5e46bb696d1fcf274cdca15fbfd076</anchor>
      <arglist>(uint16_t default_port)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DEFUN</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>a87fd8d83eebbdeeac851636677e676b6</anchor>
      <arglist>(cfg_ctrl, cfg_ctrl_cmd, &quot;ctrl&quot;, &quot;Configure the Control Interface&quot;)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>config_write_ctrl</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>a4b517a75e5bc1a63132932497873163d</anchor>
      <arglist>(struct vty *vty)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>ctrl_vty_init</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>a5855906a0c3e10b0ab6a5bcbacac0cc7</anchor>
      <arglist>(void *ctx)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static void *</type>
      <name>ctrl_vty_ctx</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>aa4ac0902596531468fd99fa35c200f82</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const char *</type>
      <name>ctrl_vty_bind_addr</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>afc278944c73bc7315b6a1310ffe360bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static int</type>
      <name>ctrl_bind_port</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>aa0c344022a2bcb086deb378d36f87b99</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static struct cmd_node</type>
      <name>ctrl_node</name>
      <anchorfile>control__vty_8c.html</anchorfile>
      <anchor>a50c433e185d494b4b7dce60ccbfb4e00</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>fsm_ctrl_commands.c</name>
    <path>/build/_osmocom_api/libosmocore/src/ctrl/</path>
    <filename>fsm__ctrl__commands_8c.html</filename>
    <includes id="control__cmd_8h" name="control_cmd.h" local="no" imported="no">osmocom/ctrl/control_cmd.h</includes>
    <includes id="control__if_8h" name="control_if.h" local="no" imported="no">osmocom/ctrl/control_if.h</includes>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>fsm_ctrl_node_lookup</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>ace191dd1f651798d9556e4528575090a</anchor>
      <arglist>(void *data, vector vline, int *node_type, void **node_data, int *i)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_fsm_inst_state</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>a223ff781695079d4cdd12aae899a6525</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CTRL_CMD_DEFINE_RO</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>a1318ff4d1893a95c5dfc1c62e7989243</anchor>
      <arglist>(fsm_inst_state, &quot;state&quot;)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_fsm_inst_parent_name</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>a803b8f761557df559c31bd062e87e5d9</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CTRL_CMD_DEFINE_RO</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>af6ddba7bfe364654a9449b535c021ebc</anchor>
      <arglist>(fsm_inst_parent_name, &quot;parent-name&quot;)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_fsm_inst_timer</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>a4a35d777c20c83f8ac9b8e24af739685</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CTRL_CMD_DEFINE_RO</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>a3ace6a1996de712c6b03dcfbb34e5a86</anchor>
      <arglist>(fsm_inst_timer, &quot;timer&quot;)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>get_fsm_inst_dump</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>a8142e1f65734ae84669bbfc880f4c340</anchor>
      <arglist>(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CTRL_CMD_DEFINE_RO</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>adc5e8c7d865464e105f9a38c8dbd78c5</anchor>
      <arglist>(fsm_inst_dump, &quot;dump&quot;)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_fsm_ctrl_cmds_install</name>
      <anchorfile>fsm__ctrl__commands_8c.html</anchorfile>
      <anchor>a75dfd578484300659ab0955fc6da83e6</anchor>
      <arglist>(void)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ctrl_cmd</name>
    <filename>structctrl__cmd.html</filename>
    <member kind="variable">
      <type>struct ctrl_connection *</type>
      <name>ccon</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>a24d327008cf70aad8ef9ce9cc290831b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>enum ctrl_type</type>
      <name>type</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>a6945f0e7005ad890c94eff6f8e7538a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>id</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>a732ab2240bbe7d86013d73c2414c1f0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>void *</type>
      <name>node</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>ad909727d72b92bebb3c428a3a9fc1f12</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>variable</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>a2919ce12c1d2083f13e20ffbc4b5983a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>value</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>a3140bed63114f292dfb49cc5393e2812</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>reply</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>aea483634e22f6a5ae57bd8958d6f4f73</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct ctrl_cmd_def *</type>
      <name>defer</name>
      <anchorfile>structctrl__cmd.html</anchorfile>
      <anchor>a0c972446cd7a87cffe84914387b9330b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ctrl_cmd_def</name>
    <filename>structctrl__cmd__def.html</filename>
    <member kind="variable">
      <type>struct llist_head</type>
      <name>list</name>
      <anchorfile>structctrl__cmd__def.html</anchorfile>
      <anchor>ad681ae88c34dcee57e676bc6cff1e30f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct ctrl_cmd *</type>
      <name>cmd</name>
      <anchorfile>structctrl__cmd__def.html</anchorfile>
      <anchor>ae0b09f794d2ff17b394c25070582eac7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>void *</type>
      <name>data</name>
      <anchorfile>structctrl__cmd__def.html</anchorfile>
      <anchor>a4f4e9a60fe99b1dd12780ff1c0c7b2b7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ctrl_cmd_element</name>
    <filename>structctrl__cmd__element.html</filename>
    <member kind="variable">
      <type>const char *</type>
      <name>name</name>
      <anchorfile>structctrl__cmd__element.html</anchorfile>
      <anchor>a46735b67b6fd5f143bfcc9a2d1bb6221</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct ctrl_cmd_struct</type>
      <name>strcmd</name>
      <anchorfile>structctrl__cmd__element.html</anchorfile>
      <anchor>a1ddbd944b534f06dabaac92bd0478538</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int(*</type>
      <name>set</name>
      <anchorfile>structctrl__cmd__element.html</anchorfile>
      <anchor>a15ff26e609a25378d43e40ba0a1ab918</anchor>
      <arglist>)(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="variable">
      <type>int(*</type>
      <name>get</name>
      <anchorfile>structctrl__cmd__element.html</anchorfile>
      <anchor>a5c8303fc4d5923f8c7b1476d9932725f</anchor>
      <arglist>)(struct ctrl_cmd *cmd, void *data)</arglist>
    </member>
    <member kind="variable">
      <type>int(*</type>
      <name>verify</name>
      <anchorfile>structctrl__cmd__element.html</anchorfile>
      <anchor>ab3d96650b77e70edc57c7e95fc3a5a08</anchor>
      <arglist>)(struct ctrl_cmd *cmd, const char *value, void *data)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ctrl_cmd_map</name>
    <filename>structctrl__cmd__map.html</filename>
    <member kind="variable">
      <type>char *</type>
      <name>cmd</name>
      <anchorfile>structctrl__cmd__map.html</anchorfile>
      <anchor>a3597dc0ea72c7da8ef3afc9c9b880032</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>enum ctrl_type</type>
      <name>type</name>
      <anchorfile>structctrl__cmd__map.html</anchorfile>
      <anchor>af98f7c2f6c7df06c1de7d709e417f707</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ctrl_cmd_struct</name>
    <filename>structctrl__cmd__struct.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>nr_commands</name>
      <anchorfile>structctrl__cmd__struct.html</anchorfile>
      <anchor>adcf7cab63c8dc12e6b1577754bdcf78b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char **</type>
      <name>command</name>
      <anchorfile>structctrl__cmd__struct.html</anchorfile>
      <anchor>ac9c0167515fb2146dcf3b6b8076a3142</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ctrl_connection</name>
    <filename>structctrl__connection.html</filename>
    <member kind="variable">
      <type>struct llist_head</type>
      <name>list_entry</name>
      <anchorfile>structctrl__connection.html</anchorfile>
      <anchor>a38af9e10f2a47d50295996d0c9de71a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct osmo_wqueue</type>
      <name>write_queue</name>
      <anchorfile>structctrl__connection.html</anchorfile>
      <anchor>a39c0cbb6e0f6e96f76c28f64d2c92481</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct msgb *</type>
      <name>pending_msg</name>
      <anchorfile>structctrl__connection.html</anchorfile>
      <anchor>a8576663940810ca0327e2a1888aa7bf1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>closed_cb</name>
      <anchorfile>structctrl__connection.html</anchorfile>
      <anchor>a15919ffbf19d2a79a93993a96f6e21f0</anchor>
      <arglist>)(struct ctrl_connection *conn)</arglist>
    </member>
    <member kind="variable">
      <type>struct llist_head</type>
      <name>cmds</name>
      <anchorfile>structctrl__connection.html</anchorfile>
      <anchor>aebe6d7f7547f16364455865865037937</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct llist_head</type>
      <name>def_cmds</name>
      <anchorfile>structctrl__connection.html</anchorfile>
      <anchor>aac52a01bfc2f1c7989b53f8ac32148d3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ctrl_handle</name>
    <filename>structctrl__handle.html</filename>
    <member kind="variable">
      <type>struct osmo_fd</type>
      <name>listen_fd</name>
      <anchorfile>structctrl__handle.html</anchorfile>
      <anchor>ad6bd2940c2192419b6f4fc5b60fbbbf2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>void *</type>
      <name>data</name>
      <anchorfile>structctrl__handle.html</anchorfile>
      <anchor>a6b883d554826b9b40fb8179ce0b1182a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ctrl_cmd_lookup</type>
      <name>lookup</name>
      <anchorfile>structctrl__handle.html</anchorfile>
      <anchor>a2b5be7fb390a8e0b0e0b613bde25be3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct llist_head</type>
      <name>ccon_list</name>
      <anchorfile>structctrl__handle.html</anchorfile>
      <anchor>a6f3a08b1cdb06684e888b82a55b122f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ctrl_cmd_reply_cb</type>
      <name>reply_cb</name>
      <anchorfile>structctrl__handle.html</anchorfile>
      <anchor>a703e755996d78ae80e4cb405b50f0a80</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>lookup_helper</name>
    <filename>structlookup__helper.html</filename>
    <member kind="variable">
      <type>struct llist_head</type>
      <name>list</name>
      <anchorfile>structlookup__helper.html</anchorfile>
      <anchor>a8b037e113ac84411d0434da996c69ee8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ctrl_cmd_lookup</type>
      <name>lookup</name>
      <anchorfile>structlookup__helper.html</anchorfile>
      <anchor>a66e38d2fff3a9b2d97efab7a4c26ad21</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
