#  OpenGGSN - Gateway GPRS Support Node
#  Copyright (C) 2002 Mondru AB.
#  
#  The contents of this file may be used under the terms of the GNU
#  General Public License Version 2, provided that the above copyright
#  notice and this permission notice is included in all copies or
#  substantial portions of the software.
#  
#  The initial developer of the original code is
#  Jens Jakobsen <jj@openggsn.org>
#  
#  Contributor(s):

option  "fg"          f "Run in foreground"              flag   off
option  "debug"       d "Run in debug mode"              flag   off

option  "conf"        c "Read configuration file"        string no
option  "pidfile"     - "Filename of process id file"    string default="./sgsnemu.pid" no
option  "statedir"    - "Directory of nonvolatile data"  string default="./" no

option  "dns"         - "DNS Server to use"              string no
option  "listen"      l "Local interface"                string no
option  "remote"      r "Remote host"                    string no

option  "contexts"    - "Number of contexts"             int    default="1" no
option  "timelimit"   - "Exit after timelimit seconds"   int default="0" no

option  "apn"         a "Access point name"              string default="internet" no
option  "imsi"        i "IMSI"                           string default="240010123456789" no
option  "msisdn"      m "Mobile Station ISDN number"     string default="46702123456" no
option  "qos"         q "Requested quality of service"   int    default="0x0b921f" no
option  "uid"         u "Login user ID"                  string default="mig" no
option  "pwd"         p "Login password"                 string default="hemmelig" no

option  "createif"    - "Create local network interface" flag   off
option  "ipup"        - "Script to run after link-up"    string no
option  "ipdown"      - "Script to run after link-down"  string no
option  "defaultroute" - "Add default route after link-up" flag   off
option  "net"         - "Network"                        string default="0.0.0.0" no
option  "mask"        - "Network mask"                   string default="0.0.0.0" no

option  "pinghost"    - "Ping remote host"               string no
option  "pingrate"    - "Number of ping req per second"  int default="1" no
option  "pingsize"    - "Number of ping data bytes"      int default="56" no
option  "pingcount"   - "Number of ping req to send"     int default="0" no
option  "pingquiet"   - "Do not print ping packet info"  flag off

