Cross reference for pc/pc_commands.c of index.

# File pc/pc_commands.c

      Copyright (c) 1999,2000,2001,2002               RIPE NCC

      All Rights Reserved

      Permission to use, copy, modify, and distribute this software and its
      documentation for any purpose and without fee is hereby granted,
      provided that the above copyright notice appear in all copies and that
      both that copyright notice and this permission notice appear in
      supporting documentation, and that the name of the author not be
      used in advertising or publicity pertaining to distribution of the
      software without specific, written prior permission.

      THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
      ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
      AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
      DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
      AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
      OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

## Included Files

- `#include ";/home/shane/release/RIP/include/rip.h";`
  - `#include </home/shane/release/RIP/include/config.h>`
  - `#include <sys/param.h>`
  - `#include <glib.h>`
  - `#include ";/home/shane/release/RIP/include/AU_util.h";`
    - `#include <stdio.h>`
    - `#include <stdlib.h>`
    - `#include <string.h>`
    - `#include <sys/types.h>`
    - `#include <unistd.h>`
    - `#include <regex.h>`
    - `#include <glib.h>`
  - `#include ";/home/shane/release/RIP/include/aa.h";`
    - `#include ";/home/shane/release/RIP/include/iproutines.h";`
      - `#include <sys/types.h>`
      - `#include <glib.h>`
      - `#include </home/shane/release/RIP/include/inet6def.h>`
      - `#include </home/shane/release/RIP/include/erroutines.h>`
  - `#include ";/home/shane/release/RIP/include/access_control.h";`
    - `#include ";/home/shane/release/RIP/include/timediff.h";`
      - `#include <sys/time.h>`
    - `#include ";/home/shane/release/RIP/include/erroutines.h";`
    - `#include ";/home/shane/release/RIP/include/iproutines.h";`
    - `#include ";/home/shane/release/RIP/include/rxroutines.h";`
      - `#include <glib.h>`
      - `#include <pthread.h>`
      - `#include <stubs.h>`
      - `#include </home/shane/release/RIP/include/memwrap.h>`
      - `#include <stdio.h>`
      - `#include <iproutines.h>`
      - `#include <erroutines.h>`
      - `#include ";/home/shane/release/RIP/include/sk.h";`
        - `#include ";/home/shane/release/RIP/include/stubs.h";`
        - `#include <sys/time.h>`
        - `#include <unistd.h>`
        - `#include <sys/types.h>`
        - `#include <sys/socket.h>`
        - `#include <netinet/in.h>`
        - `#include <netdb.h>`
        - `#include <pthread.h>`
        - `#include <stdlib.h>`
        - `#include <errno.h>`
        - `#include <fcntl.h>`
        - `#include <signal.h>`
        - `#include <stdio.h>`
        - `#include ";/home/shane/release/RIP/include/iproutines.h";`
      - `#include ";/home/shane/release/RIP/include/thread.h";`
    - `#include ";/home/shane/release/RIP/include/mysql_driver.h";`
      - `#include ";/usr/local/mysql/include/mysql/mysql.h";`
        - `#include <sys/types.h>`
        - `#include ";/usr/local/mysql/include/mysql/mysql_com.h";`
        - `#include ";/usr/local/mysql/include/mysql/mysql_version.h";`
      - `#include ";/usr/local/mysql/include/mysql/mysqld_error.h";`
      - `#include ";/home/shane/release/RIP/include/erroutines.h";`
  - `#include ";/home/shane/release/RIP/include/bitmask.h";`
  - `#include ";/home/shane/release/RIP/include/ca_adminAttribs.h";`
  - `#include ";/home/shane/release/RIP/include/ca_configFns.h";`
    - `#include ";/home/shane/release/RIP/include/ca_defs.h";`
      - `#include <pthread.h>`
      - `#include <glib.h>`
    - `#include <memwrap.h>`
    - `#include <erroutines.h>`
  - `#include ";/home/shane/release/RIP/include/ca_defs.h";`
  - `#include ";/home/shane/release/RIP/include/ca_dictionary.h";`
  - `#include ";/home/shane/release/RIP/include/ca_macros.h";`
    - `#include ";/home/shane/release/RIP/include/ca_adminAttribs.h";`
  - `#include ";/home/shane/release/RIP/include/ca_srcAttribs.h";`
  - `#include ";/home/shane/release/RIP/include/comparisons.h";`
  - `#include ";/home/shane/release/RIP/include/constants.h";`
    - `#include <glib.h>`
  - `#include ";/home/shane/release/RIP/include/defs.h";`
    - `#include <glib.h>`
    - `#include ";/home/shane/release/RIP/include/bitmask.h";`
    - `#include ";/home/shane/release/RIP/include/DF_class_enum.def";`
    - `#include ";/home/shane/release/RIP/include/DF_class_mask.def";`
    - `#include ";/home/shane/release/RIP/include/DF_attribute_enum.def";`
    - `#include ";/home/shane/release/RIP/include/DF_attribute_inv_attr_mask.def";`
    - `#include ";/home/shane/release/RIP/include/which_keytypes.h";`
      - `#include ";/home/shane/release/RIP/include/bitmask.h";`
    - `#include ";/home/shane/release/RIP/include/iproutines.h";`
    - `#include ";/home/shane/release/RIP/include/rxroutines.h";`
  - `#include ";/home/shane/release/RIP/include/er_arrays.h";`
    - `#include ";/home/shane/release/RIP/include/erroutines.h";`
  - `#include ";/home/shane/release/RIP/include/er_aspects.h";`
  - `#include ";/home/shane/release/RIP/include/er_facilities.h";`
  - `#include ";/home/shane/release/RIP/include/er_formats.h";`
  - `#include ";/home/shane/release/RIP/include/er_macro.h";`
    - `#include ";/home/shane/release/RIP/include/sk.h";`
  - `#include ";/home/shane/release/RIP/include/er_paths.h";`
    - `#include <sys/param.h>`
    - `#include <glib.h>`
  - `#include ";/home/shane/release/RIP/include/er_yacc_helper.h";`
  - `#include ";/home/shane/release/RIP/include/erroutines.h";`
  - `#include ";/home/shane/release/RIP/include/fdwrap.h";`
    - `#include <stdio.h>`
  - `#include ";/home/shane/release/RIP/include/mg_getopt.h";`
  - `#include ";/home/shane/release/RIP/include/globaldefs.h";`
  - `#include ";/home/shane/release/RIP/include/gpg.h";`
    - `#include <netdb.h>`
    - `#include <unistd.h>`
    - `#include ";/home/shane/release/RIP/include/mail_parser.h";`
      - `#include ";/home/shane/release/RIP/include/gpg.h";`
      - `#include ";/home/shane/release/RIP/include/memwrap.h";`
  - `#include ";/home/shane/release/RIP/include/inet6def.h";`
  - `#include ";/home/shane/release/RIP/include/iproutines.h";`
  - `#include ";/home/shane/release/RIP/include/mail_parser.h";`
  - `#include ";/home/shane/release/RIP/include/memwrap.h";`
  - `#include ";/home/shane/release/RIP/include/mm.h";`
    - `#include ";/home/dbase/src/orange/imap-2001a/c-client/mail.h";`
      - `#include ";/home/dbase/src/orange/imap-2001a/c-client/linkage.h";`
    - `#include ";/home/dbase/src/orange/imap-2001a/c-client/osdep.h";`
      - `#include <string.h>`
      - `#include <sys/types.h>`
      - `#include <stdlib.h>`
      - `#include <dirent.h>`
      - `#include <fcntl.h>`
      - `#include <unistd.h>`
      - `#include <time.h>`
      - `#include <utime.h>`
      - `#include <syslog.h>`
      - `#include <sys/file.h>`
      - `#include <ustat.h>`
      - `#include ";/home/dbase/src/orange/imap-2001a/c-client/env_unix.h";`
        - `#include ";/home/dbase/src/orange/imap-2001a/c-client/env.h";`
      - `#include ";/home/dbase/src/orange/imap-2001a/c-client/fs.h";`
      - `#include ";/home/dbase/src/orange/imap-2001a/c-client/ftl.h";`
      - `#include ";/home/dbase/src/orange/imap-2001a/c-client/nl.h";`
      - `#include ";/home/dbase/src/orange/imap-2001a/c-client/tcp.h";`
      - `#include ";/home/dbase/src/orange/imap-2001a/c-client/flocksim.h";`
    - `#include ";/home/shane/release/RIP/include/gpg.h";`
    - `#include ";/home/shane/release/RIP/include/mail_parser.h";`
    - `#include ";/home/shane/release/RIP/include/memwrap.h";`
    - `#include ";/usr/local/include/glib-1.2/glib.h";`
  - `#include ";/home/shane/release/RIP/include/mysql_driver.h";`
  - `#include ";/home/shane/release/RIP/include/nh.h";`
    - `#include <mysql_driver.h>`
  - `#include ";/home/shane/release/RIP/include/notification.h";`
    - `#include <stdarg.h>`
    - `#include <stdio.h>`
    - `#include <strings.h>`
    - `#include <unistd.h>`
    - `#include <stdlib.h>`
    - `#include <time.h>`
    - `#include <glib.h>`
    - `#include ";/home/shane/release/RIP/include/UP_util.h";`
      - `#include ";/home/shane/release/RIP/include/syntax_api.h";`
  - `#include ";/home/shane/release/RIP/include/numconv.h";`
  - `#include ";/home/shane/release/RIP/include/pc_commands.h";`
  - `#include ";/home/shane/release/RIP/include/properties.h";`
  - `#include ";/home/shane/release/RIP/include/protocol_config.h";`
  - `#include ";/home/shane/release/RIP/include/protocol_mirror.h";`
    - `#include <glib.h>`
    - `#include ";/home/shane/release/RIP/include/mysql_driver.h";`
    - `#include ";/home/shane/release/RIP/include/iproutines.h";`
    - `#include ";/home/shane/release/RIP/include/aa.h";`
      - `#include ";/home/shane/release/RIP/include/iproutines.h";`
  - `#include ";/home/shane/release/RIP/include/protocol_whois.h";`
    - `#include ";/home/shane/release/RIP/include/query_command.h";`
      - `#include <glib.h>`
      - `#include ";/home/shane/release/RIP/include/bitmask.h";`
      - `#include ";/home/shane/release/RIP/include/sk.h";`
  - `#include ";/home/shane/release/RIP/include/query_command.h";`
  - `#include ";/home/shane/release/RIP/include/query_instructions.h";`
    - `#include ";/home/shane/release/RIP/include/rxroutines.h";`
    - `#include ";/home/shane/release/RIP/include/iproutines.h";`
    - `#include ";/home/shane/release/RIP/include/mysql_driver.h";`
    - `#include ";/home/shane/release/RIP/include/query_command.h";`
    - `#include ";/home/shane/release/RIP/include/defs.h";`
    - `#include ";/home/shane/release/RIP/include/which_keytypes.h";`
    - `#include ";/home/shane/release/RIP/include/access_control.h";`
    - `#include ";/home/shane/release/RIP/include/ca_configFns.h";`
    - `#include ";/home/shane/release/RIP/include/ca_dictionary.h";`
    - `#include ";/home/shane/release/RIP/include/ca_macros.h";`
    - `#include ";/home/shane/release/RIP/include/ca_srcAttribs.h";`
  - `#include ";/home/shane/release/RIP/include/rp.h";`
    - `#include <stddef.h>`
    - `#include <glib.h>`
    - `#include <pthread.h>`
    - `#include <defs.h>`
    - `#include <iproutines.h>`
    - `#include <erroutines.h>`
    - `#include <rxroutines.h>`
    - `#include <mysql_driver.h>`
    - `#include ";/home/shane/release/RIP/include/ca_defs.h";`
    - `#include <thread.h>`
  - `#include ";/home/shane/release/RIP/include/rxroutines.h";`
  - `#include ";/home/shane/release/RIP/include/server.h";`
  - `#include ";/home/shane/release/RIP/include/sk.h";`
  - `#include ";/home/shane/release/RIP/include/stubs.h";`
  - `#include ";/home/shane/release/RIP/include/syntax_api.h";`
  - `#include ";/home/shane/release/RIP/include/ta.h";`
    - `#include <glib.h>`
    - `#include <pthread.h>`
    - `#include <stdio.h>`
    - `#include ";/home/shane/release/RIP/include/stubs.h";`
    - `#include ";/home/shane/release/RIP/include/memwrap.h";`
    - `#include ";/home/shane/release/RIP/include/sk.h";`
    - `#include ";/home/shane/release/RIP/include/timediff.h";`
  - `#include ";/home/shane/release/RIP/include/thread.h";`
  - `#include ";/home/shane/release/RIP/include/timediff.h";`
  - `#include ";/home/shane/release/RIP/include/ud.h";`
  - `#include ";/home/shane/release/RIP/include/ud_int.h";`
    - `#include <stdio.h>`
    - `#include <strings.h>`
    - `#include <glib.h>`
    - `#include <stdlib.h>`
    - `#include <ctype.h>`
    - `#include <unistd.h>`
    - `#include ";/home/shane/release/RIP/include/defs.h";`
    - `#include ";/home/shane/release/RIP/include/mysql_driver.h";`
    - `#include ";/home/shane/release/RIP/include/iproutines.h";`
    - `#include ";/home/shane/release/RIP/include/erroutines.h";`
    - `#include ";/home/shane/release/RIP/include/rp.h";`
    - `#include ";/home/shane/release/RIP/include/nh.h";`
    - `#include ";/home/shane/release/RIP/include/sk.h";`
    - `#include ";/home/shane/release/RIP/include/memwrap.h";`
    - `#include ";/home/shane/release/RIP/include/ca_configFns.h";`
    - `#include ";/home/shane/release/RIP/include/ca_dictionary.h";`
    - `#include ";/home/shane/release/RIP/include/ca_macros.h";`
    - `#include ";/home/shane/release/RIP/include/ca_srcAttribs.h";`
    - `#include ";/home/shane/release/RIP/include/globaldefs.h";`
    - `#include ";/home/shane/release/RIP/include/bitmask.h";`
    - `#include ";/home/shane/release/RIP/include/which_keytypes.h";`
  - `#include ";/home/shane/release/RIP/include/ud_tr.h";`
    - `#include ";/home/shane/release/RIP/include/ud_int.h";`
  - `#include ";/home/shane/release/RIP/include/ut_string.h";`
  - `#include ";/home/shane/release/RIP/include/wh_queries.h";`
    - `#include ";/home/shane/release/RIP/include/sk.h";`
  - `#include ";/home/shane/release/RIP/include/which_keytypes.h";`

## Global Variable Lock

`pthread_mutex_t Lock`

Included from | /home/shane/release/RIP/include/ca_defs.h
Visible in: |  | aa/aa.c
|  | ac/ac_persistence.c
|  | ac/access_control.c
|  | au/AU_util.c
|  | ca/ca_configFns.c
|  | ca/ca_initFn.c
|  | ca/ca_sanityCheck.c
|  | ca/ca_sourceLoader.c
|  | ca/ca_values.c
|  | co/constants.c
|  | df/defs.c
|  | er/er.c
|  | er/er_arrays.c
|  | er/er_macro.c
|  | er/er_paths.c
|  | er/er_print.c
|  | ip/ip.c
|  | ma/bitmask.c
|  | mm/mm.c
|  | nh/nh.c
|  | pa/gpg.c
|  | pa/spawn.c
|  | pc/pc_commands.c
Used in: | ca_get_adminIntElement() | ca/ca_configFns.c
| ca_get_adminStrElement() | ca/ca_configFns.c
| ca_get_boolean() | ca/ca_configFns.c
| ca_get_dirlist() | ca/ca_configFns.c
| ca_get_int() | ca/ca_configFns.c
| ca_get_string() | ca/ca_configFns.c
| ca_set_boolean() | ca/ca_configFns.c
| ca_srchandle2Intelement() | ca/ca_configFns.c
| ca_srchandle2Strelement() | ca/ca_configFns.c

## External Variables

SV_starttime
Display the statistics about the server.

`extern time_t SV_starttime`

## Global Function command_help()

      Display available commands.

`int command_help ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | show_commands()
References Variables: | command

## Global Function command_purify()

      Display the memory allocation records of purify(tm).
      The #define must be changed to activate this.
      The program will link only with purify.

`int command_purify ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | g_string_append()

## Global Function command_quit()

      Quit the config session.

`int command_quit ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h

## Global Function command_save()

      Relay functions for composed commands (eg. "set counter").

      They run the second word as a command from a specific array
      (show/set/stop/whatever). The hardcoded text is used only for help
      messages, printed in case the command is wrong as

     "<hardcoded> commands are: <list of possible commands>".

`int command_save ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | command_execute()
References Variables: | save

## Global Function command_set()

`int command_set ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | command_execute()
References Variables: | set

## Global Function command_show()

`int command_show ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | command_execute()
References Variables: | show

## Global Function command_stop()

`int command_stop ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | command_execute()
References Variables: | stop

## Global Function save_access_tree()

`int save_access_tree ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | AC_persistence_save() | ac/ac_persistence.c
| g_string_append()

## Global Function set_acl()

      Modify the whois access control list in the AC module.

      Arguments: IP[/prefixlength] column=value,column=value...

      Column names as in acl display. Unset columns are inherited.

`int set_acl ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | AC_asc_acl_command_set() | ac/access_control.c
| NOERR() | er/er.c
| g_string_append()

## Global Function set_auto_save()

      Sets the auto save status of the access tree.

      Arguments: 0 = don't auto save, 1 = auto save

`int set_auto_save ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | printf()
References Variables: | ac_auto_save | ac/ac_persistence.c

## Global Function set_err()

      Execute a command in the ER path processor of the ER module.
      (first subject to macro expansion of the first word).

      Argument is passed entirely to ER_macro_spec().

`int set_err ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | ER_macro_spec() | er/er_macro.c
| UT_free_real(), g_string_append()

## Global Function set_initrx()

      Reset the source.

      Reloads the radix tree.

      Argument: the source name.

`int set_initrx ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | ca_get_SourceHandleByName() | ca/ca_configFns.c
| RP_init_trees(), RP_sql_load_reg(), g_string_append()

## Global Function set_macro()

      (re)define a macro for the ER path processor.

      Arguments: The first word is treated as a macro name.
      The rest of the line is treated as a macro definition.

`int set_macro ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | ER_make_macro() | er/er_macro.c
| strlen(), strtok_r()

## Global Function set_nodeny()

      Reset the deny counter in the access tree to 0 (after reenabling)
      (AC module).

      Argument: IP address.

`int set_nodeny ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | AC_asc_set_nodeny() | ac/access_control.c
| NOERR() | er/er.c
| g_string_append()

## Global Function set_queries()

      Pause/resume queries.

      Argument: the word "pause" or "resume".

`int set_queries ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | PW_startqueries(), PW_stopqueries(), g_string_append(), sscanf(), strcmp()

## Global Function set_updates()

      Pause/resume update capability of the UD module.

      Argument: the word "pause" or "resume".

`int set_updates ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | CO_set_const() | co/constants.c
| g_string_append(), sscanf(), strcmp()

## Global Function show_access()

      Display the whois access statistics from the AC module.

`int show_access ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | AC_print_access() | ac/access_control.c
| g_string_sprintfa()

## Global Function show_acl()

      Display the whois access control list from the AC module.

`int show_acl ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | AC_print_acl() | ac/access_control.c
| g_string_sprintfa()

## Global Function show_auto_save()

      Display the access tree auto save state.

`int show_auto_save ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | g_string_sprintfa()
References Variables: | ac_auto_save | ac/ac_persistence.c

## Global Function show_const()

      Display a specific constant of the CO module.

      Argument: name of the constant.

`int show_const ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | CO_const_to_string() | co/constants.c
| UT_free_real(), g_string_append(), strlen(), strtok_r()

## Global Function show_consts()

      Display all the constants of the CO module.

`int show_consts ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | CO_to_string() | co/constants.c
| UT_free_real(), g_string_append()

## Global Function show_err()

      Show the current setup of the ER path system of the ER module.

`int show_err ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | er_print_paths() | er/er_print.c
| UT_free_real(), g_string_append()

## Global Function show_macros()

      Show the currently defined macros for the ER path system of the ER module.

`int show_macros ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | ER_macro_list() | er/er_macro.c

## Global Function show_props()

      Display all the properties of the PR module.

`int show_props ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | PR_to_string(), UT_free_real(), g_string_append()

## Global Function show_threads()

      Display all running threads registered with the TA module.

`int show_threads ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | TA_tostring(), UT_free_real(), g_string_append()

## Global Function show_uptime()

      Display the statistics about the server.

`int show_uptime ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | ctime_r() | aa/aa.c
| SK_cd_printf(), time()
References Variables: | SV_starttime

## Global Function show_whois()

      Switch the session to a whois session.

`int show_whois ( char* input, GString* output, sk_conn_st* condat )`

Prototyped in: | /home/shane/release/RIP/include/pc_commands.h
Calls: | PW_interact()

## Local Function asctime_r()

`static char* asctime_r ( const struct tm* __tm, char* __buf )`

Included from: | /usr/include/time.h
Calls: | __posix_asctime_r()

## Local Function ctime_r()

`static char* ctime_r ( const time_t* __time, char* __buf )`

Included from: | /usr/include/time.h
Calls: | __posix_ctime_r()
Called by: | show_uptime() | pc/pc_commands.c

## Local Function getlogin_r()

`static int getlogin_r ( char* __name, int __len )`

Included from: | /usr/include/unistd.h
Calls: | __posix_getlogin_r()

## Local Function readdir_r()

`static int readdir_r ( DIR* __dp, struct dirent* __ent, struct dirent** __res )`

Included from: | /usr/include/dirent.h
Calls: | __posix_readdir_r()

## Local Function sigwait()

`static int sigwait ( const sigset_t* __setp, int* __signo )`

Included from: | /usr/include/signal.h
Calls: | __posix_sigwait()

## Local Function ttyname_r()

`static int ttyname_r ( int __fildes, char* __buf, size_t __size )`

Included from: | /usr/include/unistd.h
Calls: | __posix_ttyname_r()