# gflags Module

Jiri
Kuthan
jiri@iptel.org
2004
FhG FOKUS
$Revision: 1.1.2.1 $
$Date: 2005/06/22 23:16:52 $

## User's Guide

### 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.

### Dependencies

None.

### Exported Parameters

#### `initial` (integer)

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

Default value is 0.

### Exported Functions

#### `set_gflag(flag_num)`

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

##### `set_gflag` usage

    ...
    set_gflag("2");
    ...

#### `reset_gflag(flag_num)`

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

##### `reset_gflag` usage

    ...
    reset_gflag("2");
    ...

#### `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.

### 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.