linux/drivers/isdn/pcbit/edss1.h
<<
>>
Prefs
   1/*
   2 * DSS.1 module definitions
   3 *
   4 * Copyright (C) 1996 Universidade de Lisboa
   5 *
   6 * Written by Pedro Roque Marques (roque@di.fc.ul.pt)
   7 *
   8 * This software may be used and distributed according to the terms of
   9 * the GNU General Public License, incorporated herein by reference.
  10 */
  11
  12#ifndef EDSS1_H
  13#define EDSS1_H
  14
  15/* ISDN states */
  16
  17#define ST_NULL      0
  18#define ST_CALL_INIT 1    /* Call initiated */
  19#define ST_OVER_SEND 2    /* Overlap sending - Requests More Info 4 call */
  20#define ST_CALL_PROC 3    /* Call Proceeding */
  21#define ST_CALL_DELV 4
  22#define ST_CALL_PRES 6    /* Call Present - Received CONN.IND */
  23#define ST_CALL_RECV 7    /* Alerting sent */
  24#define ST_CONN_REQ  8    /* Answered - waiting 4 CONN.CONF */
  25#define ST_INCM_PROC 9
  26#define ST_ACTIVE    10
  27#define ST_DISC_REQ  11
  28#define ST_DISC_IND  12
  29#define ST_SUSP_REQ  15
  30#define ST_RESM_REQ  17
  31#define ST_RELS_REQ  19
  32#define ST_OVER_RECV 25
  33
  34#define ST_ACTIVE_SELP 26 /* Select protocol on B-Channel */
  35#define ST_ACTIVE_ACTV 27 /* Activate B-channel protocol  */
  36
  37#define MAX_STATE ST_ACTIVE_ACTV
  38
  39#define EV_NULL               0
  40#define EV_USR_SETUP_REQ      1
  41#define EV_USR_SETUP_RESP     2
  42#define EV_USR_PROCED_REQ     3
  43#define EV_USR_RELEASE_REQ    4
  44#define EV_USR_REJECT_REQ     4
  45
  46#define EV_NET_SETUP          16
  47#define EV_NET_CALL_PROC      17
  48#define EV_NET_SETUP_ACK      18
  49#define EV_NET_CONN           19
  50#define EV_NET_CONN_ACK       20
  51
  52#define EV_NET_SELP_RESP      21
  53#define EV_NET_ACTV_RESP      22
  54
  55#define EV_NET_DISC           23
  56#define EV_NET_RELEASE        24
  57#define EV_NET_RELEASE_COMP   25
  58
  59#define EV_TIMER              26
  60#define EV_ERROR              32
  61
  62/*
  63 *  Cause values
  64 *  only the ones we use
  65 */
  66
  67#define CAUSE_NORMAL          0x10U
  68#define CAUSE_NOCHAN          0x22U
  69
  70struct callb_data {
  71        unsigned short type;
  72        union {
  73                struct ConnInfo {
  74                        char *CalledPN;
  75                        char *CallingPN;
  76                } setup;
  77                unsigned short cause;
  78        } data;
  79};
  80
  81struct fsm_entry {
  82        unsigned short init;
  83        unsigned short final;
  84        unsigned short event;
  85        void (*callb)(struct pcbit_dev *, struct pcbit_chan *, struct callb_data*);
  86};
  87
  88struct fsm_timer_entry {
  89        unsigned short init;
  90        unsigned long timeout;          /* in seconds */
  91};
  92
  93extern const char * const isdn_state_table[];
  94
  95void pcbit_fsm_event(struct pcbit_dev *, struct pcbit_chan *,
  96                     unsigned short event, struct callb_data *);
  97char *strisdnevent(ushort ev);
  98
  99#endif
 100