Cross reference for modules/rp/rp_update.c of index.

# File modules/rp/rp_update.c

      $Revision: 1.7 $

      Radix tree (rx).  rx_payload.c - functions to operate on user data
      (creation/deletion).

      Status: NOT REVUED, UNTESTED, INCOMPLETE

      Design and implementation by: Marek Bukowy

## Included Files

- `#include <include/rp.h>`

## Global Variable Lock

`pthread_mutex_t Lock`

Included from | include/ca_defs.h
Visible in: |  | modules/ac/access_control.c
|  | modules/ca/ca_configFns.c
|  | modules/ca/ca_initFn.c
|  | modules/ca/ca_sourceLoader.c
|  | modules/ca/ca_values.c
|  | modules/er/er_macro.c
|  | modules/pm/pm_serials.c
|  | modules/pm/protocol_mirror.c
|  | modules/qc/query_command.c
|  | modules/qi/query_instructions.c
|  | modules/rp/rp_convert.c
|  | modules/rp/rp_load.c
|  | modules/rp/rp_search.c
|  | modules/rp/rp_tree.c
|  | modules/rp/rp_update.c
Used in: | ca_get_adminIntElement() | modules/ca/ca_configFns.c
| ca_get_adminStrElement() | modules/ca/ca_configFns.c
| ca_get_boolean() | modules/ca/ca_configFns.c
| ca_get_dirlist() | modules/ca/ca_configFns.c
| ca_get_int() | modules/ca/ca_configFns.c
| ca_get_string() | modules/ca/ca_configFns.c
| ca_set_boolean() | modules/ca/ca_configFns.c
| ca_set_string() | modules/ca/ca_configFns.c
| ca_srchandle2Intelement() | modules/ca/ca_configFns.c
| ca_srchandle2Strelement() | modules/ca/ca_configFns.c

## Global Variable newPort

`char newPort[16]`

Included from | include/ca_defs.h
Visible in: |  | modules/ac/access_control.c
|  | modules/ca/ca_configFns.c
|  | modules/ca/ca_initFn.c
|  | modules/ca/ca_sourceLoader.c
|  | modules/ca/ca_values.c
|  | modules/er/er_macro.c
|  | modules/pm/pm_serials.c
|  | modules/pm/protocol_mirror.c
|  | modules/qc/query_command.c
|  | modules/qi/query_instructions.c
|  | modules/rp/rp_convert.c
|  | modules/rp/rp_load.c
|  | modules/rp/rp_search.c
|  | modules/rp/rp_tree.c
|  | modules/rp/rp_update.c

## Global Function RP_asc_node()

     *********************************************************************
      Ascii frontend - translates key according to attr and calls rx_uni_node.
      FOR TESTING PURPOSES ONLY
      *********************************************************************

`er_ret_t RP_asc_node ( rx_oper_mt mode, char* rangstr, rp_attr_t attr, rp_regid_t reg_id, void* data, int datalen, sql_key_t key )`

`rx_oper_mt mode`
  MODE={cre|mod|del}
`char* rangstr`
  string prefix/range/IP/inaddr
`rp_attr_t attr`
  additional tree attribute
`rp_regid_t reg_id`
  id of the registry
`void* data`
  pointer to the payload
`int datalen`
  length of the payload
`sql_key_t key`
  the key to the SQL full-text

Prototyped in: | include/rp.h
Calls: | ER_dbg_va() | modules/er/er.c
| RP_asc2uni() | modules/rp/rp_convert.c
| RP_uni_node() | modules/rp/rp_update.c
Called by: | RP_asc_load() | modules/rp/rp_load.c

## Global Function RP_pack_node()

`er_ret_t RP_pack_node ( rx_oper_mt mode, rp_upd_pack_t* pack, rp_regid_t reg_id )`

`rx_oper_mt mode`
  &nbs;
`rp_upd_pack_t* pack`
  &nbs;
`rp_regid_t reg_id`
  id of the registry

Prototyped in: | include/rp.h
Calls: | RP_uni_node() | modules/rp/rp_update.c
| rp_make_short() | modules/rp/rp_convert.c

## Global Function RP_pack_node_l()

`er_ret_t RP_pack_node_l ( rx_oper_mt mode, rp_upd_pack_t* pack, rx_tree_t* mytree )`

Prototyped in: | include/rp.h
Calls: | RP_uni_node_l() | modules/rp/rp_update.c
| rp_make_short() | modules/rp/rp_convert.c
| strlen()
Called by: | RP_sql_load_attr_space() | modules/rp/rp_load.c

## Global Function RP_uni_node()

     ***************************************************************

      MAIN FRONTEND FUNCTION

      finds tree, locks it.

      builds a dataleaf and puts into the node(s),
      calling rx_bin_node for every prefix.

      MT-note: locks/unlocks the tree.

`er_ret_t RP_uni_node ( rx_oper_mt mode, rp_uni_t* uni, rp_attr_t attr, rp_regid_t reg_id, void* data, int datalen, sql_key_t key )`

`rx_oper_mt mode`
  MODE={cre|mod|del}
`rp_uni_t* uni`
  unified argument structure
`rp_attr_t attr`
  additional tree attribute
`rp_regid_t reg_id`
  id of the registry
`void* data`
  pointer to the payload
`int datalen`
  length of the payload
`sql_key_t key`
  the key to the SQL full-text

Prototyped in: | include/rp.h
Calls: | RP_tree_get() | modules/rp/rp_tree.c
| RP_uni_node_l() | modules/rp/rp_update.c
| TH_acquire_write_lock(), TH_release_write_lock(), fprintf()
Called by: | RP_asc_node() | modules/rp/rp_update.c
| RP_pack_node() | modules/rp/rp_update.c

## Global Function RP_uni_node_l()

     ***************************************************************
      assumes locked tree

`er_ret_t RP_uni_node_l ( rx_oper_mt mode, rp_uni_t* uni, rx_tree_t* mytree, void* data, int datalen, sql_key_t key )`

`rx_oper_mt mode`
  MODE={cre|mod|del}
`rp_uni_t* uni`
  &nbs;
`rx_tree_t* mytree`
  &nbs;
`void* data`
  pointer to the payload
`int datalen`
  length of the payload
`sql_key_t key`
  the key to the SQL full-text

Calls: | RX_in_node(), RX_rt_node(), fprintf(), memcpy(), wr_real_calloc(), wr_real_free(), wr_real_malloc()
Called by: | RP_pack_node_l() | modules/rp/rp_update.c
| RP_uni_node() | modules/rp/rp_update.c