File modules/ud/ud_process_stream.c

  $Revision: 1.29 $

Functions to process data stream( file, network socket, etc.)
Status: NOT REVUED, NOT TESTED
Author(s): Chris Ottrey, Andrei Robachevsky

Included Files


Preprocessor definitions

#define SBUNCH 1000

#define ATTR_DELIMITERS " ,"


Typedef Line_Type_t

typedef enum _Line_Type_t Line_Type_t
enum _Line_Type_t 
   { 
     LINE_ATTRIBUTE; 
     LINE_COMMENT; 
     LINE_EMPTY; 
     LINE_EOF; 
     LINE_ADD; 
     LINE_UPD; 
     LINE_DEL; 
     LINE_OVERRIDE_ADD; 
     LINE_OVERRIDE_UPD; 
     LINE_OVERRIDE_DEL; 
     LINE_PLUS; 
   } 

Global Variable Lock

pthread_mutex_t Lock
Included from include/ca_defs.h
Visible in:  modules/ca/ca_configFns.c
   modules/ca/ca_values.c
   modules/pm/pm_serials.c
   modules/pm/protocol_mirror.c
   modules/pw/protocol_whois.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
   modules/sv/server.c
   modules/ud/ud_comrol.c
   modules/ud/ud_core.c
   modules/ud/ud_main.c
   modules/ud/ud_misc.c
   modules/ud/ud_process_stream.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

Global Variable newPort

char newPort[16]
Included from include/ca_defs.h
Visible in:  modules/ca/ca_configFns.c
   modules/ca/ca_values.c
   modules/pm/pm_serials.c
   modules/pm/protocol_mirror.c
   modules/pw/protocol_whois.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
   modules/sv/server.c
   modules/ud/ud_comrol.c
   modules/ud/ud_core.c
   modules/ud/ud_main.c
   modules/ud/ud_misc.c
   modules/ud/ud_process_stream.c

Global Function UD_process_stream()

int UD_process_stream ( UD_stream_t* ud_stream )
Prototyped in: modules/ud/ud_int.h
Calls: CO_get_do_update()modules/co/constants.c
  NH_check()modules/nh/nh.c
  NH_convert()modules/nh/nh.c
  NH_parse()modules/nh/nh.c
  attribute_free()modules/ud/ud_misc.c
  attribute_new()modules/ud/ud_misc.c
  attribute_upd()modules/ud/ud_misc.c
  escape_apostrophes()modules/ud/ud_process_stream.c
  line_type()modules/ud/ud_process_stream.c
  object_free()modules/ud/ud_misc.c
  object_new()modules/ud/ud_misc.c
  object_process()modules/ud/ud_core.c
  process_transaction()modules/ud/ud_process_stream.c
  report_transaction()modules/ud/ud_process_stream.c
  split_attribute()modules/ud/ud_process_stream.c
  transaction_free()modules/ud/ud_misc.c
  create_serial(), fclose(), fgets(), fprintf(), g_slist_append(), g_slist_concat(), g_slist_sort(), g_string_free(), g_string_sized_new(), g_string_sprintf(), g_string_sprintfa(), mysql_ping(), sprintf(), strcpy(), strncpy(), strstr(), time()
Called by: UD_do_nrtm()modules/ud/ud_main.c
  UD_do_updates()modules/ud/ud_main.c
References Functions: reorder_attributes()modules/ud/ud_process_stream.c

Global Function escape_apostrophes()

GString* escape_apostrophes ( GString* text )
Calls: g_string_insert_c()
Called by: UD_process_stream()modules/ud/ud_process_stream.c

Local Function each_attribute_print()

static void each_attribute_print ( void* element_data, void* tr_ptr )
Calls: fprintf()
Used in: print_object()modules/ud/ud_process_stream.c

Local Function line_type()

static Line_Type_t line_type ( const char* line )
Calls: strcmp(), strncmp()
Called by: UD_process_stream()modules/ud/ud_process_stream.c

Local Function print_object()

static void print_object ( Object_t* obj )
Calls: fprintf(), g_slist_foreach()
References Functions: each_attribute_print()modules/ud/ud_process_stream.c

Local Function process_nrtm()

static int process_nrtm ( UD_stream_t* ud_stream, Transaction_t* tr, char* object_name, int operation )
Prototyped in: modules/ud/ud_process_stream.c
Calls: isdummy()modules/ud/ud_core.c
  object_free()modules/ud/ud_misc.c
  object_process()modules/ud/ud_core.c
  report_transaction()modules/ud/ud_process_stream.c
  transaction_free()modules/ud/ud_misc.c
  create_serial(), fprintf(), strcpy()
Called by: process_transaction()modules/ud/ud_process_stream.c

Local Function process_transaction()

static int process_transaction ( UD_stream_t* ud_stream, Object_t* obj, char* object_name, nic_handle_t* nh, int operation )
Prototyped in: modules/ud/ud_process_stream.c
Calls: attribute_free()modules/ud/ud_misc.c
  attribute_new()modules/ud/ud_misc.c
  get_object_id()modules/ud/ud_core.c
  object_free()modules/ud/ud_misc.c
  process_nrtm()modules/ud/ud_process_stream.c
  process_updates()modules/ud/ud_process_stream.c
  report_transaction()modules/ud/ud_process_stream.c
  transaction_free()modules/ud/ud_misc.c
  transaction_new()modules/ud/ud_misc.c
  g_strdup()
Called by: UD_process_stream()modules/ud/ud_process_stream.c

Local Function process_updates()

static int process_updates ( UD_stream_t* ud_stream, Transaction_t* tr, char* object_name, int operation )
Prototyped in: modules/ud/ud_process_stream.c
Calls: isdummy()modules/ud/ud_core.c
  object_free()modules/ud/ud_misc.c
  object_process()modules/ud/ud_core.c
  report_transaction()modules/ud/ud_process_stream.c
  transaction_free()modules/ud/ud_misc.c
  create_serial(), g_strdup()
Called by: process_transaction()modules/ud/ud_process_stream.c

Local Function reorder_attributes()

static gint reorder_attributes ( const void* element1, const void* element2 )
Used in: UD_process_stream()modules/ud/ud_process_stream.c

Local Function report_transaction()

static int report_transaction ( Transaction_t* tr, Log_t* log, char* obj_name, char* reason )
Prototyped in: modules/ud/ud_process_stream.c
Calls: fflush(), fprintf()
Called by: UD_process_stream()modules/ud/ud_process_stream.c
  process_nrtm()modules/ud/ud_process_stream.c
  process_transaction()modules/ud/ud_process_stream.c
  process_updates()modules/ud/ud_process_stream.c

Local Function split_attribute()

static GSList* split_attribute ( GSList* attr_list, A_Type_t attr_type, char* attr_value )
Calls: attribute_new1()modules/ud/ud_misc.c
  free(), g_slist_append(), g_strdup(), g_strndup(), index(), strtok_r()
Called by: UD_process_stream()modules/ud/ud_process_stream.c