
gflags Module

Jiri Kuthan

   Copyright  2004 FhG FOKUS
     _________________________________________________________

   Table of Contents
   1. User's Guide

        1.1. Overview
        1.2. Dependencies
        1.3. Exported Parameters

              1.3.1. initial (integer)

        1.4. Exported Functions

              1.4.1. set_gflag(flag_num)
              1.4.2. reset_gflag(flag_num)
              1.4.3. is_gflag(flag_num)

        1.5. FIFO Interface

   List of Examples
   1-1. set_gflag usage
   1-2. reset_gflag usage
     _________________________________________________________

Chapter 1. User's Guide

1.1. Overview

   The module implements global flags. The difference between the
   global flags and flags that can be used in the configuration
   file or AVPs is that they the scope of the global flags is not
   limited to the SIP message or transaction being processed.
   Global flags are always available, their contents is not
   forgotten when a SIP transaction gets destroyed in SER.

   Global flags can be accessed from the configuration script,
   for example:
if (is_gflag("1")) {
    t_relay_to_udp("10.0.0.1", "5060");
} else {
    t_relay_to_udp("10.0.0.2", "5060");
};

   The value of the global flags can be manipulated by external
   tools such as the web interface of SER or cmd line
   administration tools. One particular application of global
   flags could be runtime configuration changes without the need
   to restart SER.
     _________________________________________________________

1.2. Dependencies

   None.
     _________________________________________________________

1.3. Exported Parameters

1.3.1. initial (integer)

   The initial value of global flags. Each bit in the integer
   represents one flag.

   Default value is 0.
     _________________________________________________________

1.4. Exported Functions

1.4.1. set_gflag(flag_num)

   Set the flag identified by flag_num to 1. The range of
   flag_num is 0 to 31.

   Example 1-1. set_gflag usage
...
set_gflag("2");
...
     _________________________________________________________

1.4.2. reset_gflag(flag_num)

   Set the flag identified by flag_num to 0. The range of
   flag_num is 0 to 31.

   Example 1-2. reset_gflag usage
...
reset_gflag("2");
...
     _________________________________________________________

1.4.3. is_gflag(flag_num)

   Returns 1 when flag identified by flag_num is set, 0
   otherwise. The range of flag_num parameter is 0 to 31.
     _________________________________________________________

1.5. FIFO Interface

   The state of the global flags can be read and modified over
   the FIFO interface of SER. This module implements the
   following FIFO interface functions:

     * set_gflag - Set the value of a flag to 1. The function
       accepts one parameter which is the number of the flag to
       be set.
     * reset_gflag - Reset the value of a flag to 0. The function
       accepts one parameter which is the number of the flag to
       be reset.
     * is_gflag - Return the status of a flag. The FIFO function
       would return TRUE if the flag is set and FALSE if it is
       not set. The only parameter of this function is the number
       of the flag.
