File modules/sv/server.c

  $Revision: 1.26 $

Example code: A server for a client to connect to.
Status: NOT REVUED, NOT TESTED
Authors: Chris Ottrey, Joao Damas
Online References:

Included Files


Preprocessor definitions

#define RIPE_REG 17

String sizes

#define STR_S 63

#define STR_M 255

#define STR_L 1023

#define STR_XL 4095

#define STR_XXL 16383


Global Variable sv_lockfd

int sv_lockfd[4]
Visible in:  modules/sv/server.c
Used in: SV_shutdown()modules/sv/server.c
  SV_sleep()modules/sv/server.c
  SV_start()modules/sv/server.c

Global Variable SV_whois_sock

int SV_whois_sock
Visible in:  modules/sv/server.c
Used in: SV_shutdown()modules/sv/server.c
  SV_start()modules/sv/server.c

Global Variable SV_config_sock

int SV_config_sock
Visible in:  modules/sv/server.c
Used in: SV_shutdown()modules/sv/server.c
  SV_start()modules/sv/server.c

Global Variable SV_mirror_sock

int SV_mirror_sock
Visible in:  modules/sv/server.c
Used in: SV_shutdown()modules/sv/server.c
  SV_start()modules/sv/server.c

Global Variable SV_update_sock

int SV_update_sock
Visible in:  modules/sv/server.c
Used in: SV_shutdown()modules/sv/server.c
  SV_start()modules/sv/server.c

Global Function SV_shutdown()

  Shutdown the server.

More:
  Authors:
        andrei
Stops the server.
  1. Close listening sockets (whois, config, mirror and updates)
  2. Stop all threads by triggering do_server variable.
.properties
void SV_shutdown ( void )
Prototyped in: modules/sv/server.h
Calls: CO_set_const()modules/co/constants.c
  close(), fprintf(), sprintf(), strcpy(), write()
References Variables: SV_config_sockmodules/sv/server.c
  SV_mirror_sockmodules/sv/server.c
  SV_update_sockmodules/sv/server.c
  SV_whois_sockmodules/sv/server.c
  sv_lockfdmodules/sv/server.c

Global Function SV_sleep()

  Sleep and wake up on special events.

More:
  Authors:
        andrei
Sleeps timeout but wakes up when an envent occures.
int SV_sleep ( int lock, int sleeptime )
Prototyped in: modules/sv/server.h
Calls: fprintf(), fstat(), memset(), select()
Called by: AC_decay()modules/ac/access_control.c
References Variables: sv_lockfdmodules/sv/server.c

Global Function SV_start()

  Start the server.

More:
  Authors:
        ottrey
        joao
Starts up the server.
  1. Create sockets on the necessary ports (whois, config and mirror)
  2. Start new threads for each service.
.properties
void SV_start ( void )
Prototyped in: modules/sv/server.h
Calls: AC_acc_load()modules/ac/access_control.c
  AC_build()modules/ac/access_control.c
  CO_get_config_port()modules/co/constants.c
  CO_get_mirror_port()modules/co/constants.c
  CO_get_update_mode()modules/co/constants.c
  CO_get_update_port()modules/co/constants.c
  CO_get_whois_port()modules/co/constants.c
  SK_atoport()modules/sk/socket.c
  SK_getsock()modules/sk/socket.c
  TH_run(), TH_run1(), TH_run2(), exit(), fprintf(), pipe(), printf(), pthread_exit()
References Functions: AC_decay()modules/ac/access_control.c
  radix_init()modules/sv/server.c
  TH_do_config(), TH_do_mirror(), TH_do_whois(), UD_do_nrtm(), UD_do_updates()
References Variables: SV_config_sockmodules/sv/server.c
  SV_mirror_sockmodules/sv/server.c
  SV_update_sockmodules/sv/server.c
  SV_whois_sockmodules/sv/server.c
  sv_lockfdmodules/sv/server.c

Global Function radix_init()

void radix_init ( void )
Calls: RP_init_trees()modules/rp/rp_tree.c
  RP_sql_load_reg()modules/rp/rp_load.c
  fprintf()
Used in: SV_start()modules/sv/server.c