libisdn
Q921priv.h File Reference
#include "Q9XXplatform.h"

Go to the source code of this file.

Data Structures

struct  Q921_Link

Defines

#define Q921_SET_FLAG(x, f)   ((x)->flags |= f)
#define Q921_CHECK_FLAG(x, f)   ((x)->flags & f)
#define Q921_CLEAR_FLAG(x, f)   ((x)->flags &= ~f)
#define Q921_SAPI_TEI   63 /* SAPI for all TEI Messages */
#define Q921_LAYER_ENT_ID_TEI   0x0f /* UN Layer Management Entity ID for TEI Mgmt */
#define Q921_LAYER_ENT_ID_Q931   0x08 /* Q.931 Layer Management Entity ID */
#define Q921_LINK_CONTEXT(tr, tei)   (Q921_IS_PTMP_NT(tr) && tei != Q921_TEI_BCAST) ? ((struct Q921_Link *)&(tr)->context[tei]) : (tr)->context
#define Q921_TRUNK_CONTEXT(tr)   (tr)->context
#define Q921_LOGBUFSIZE   2000
#define INITIALIZED_MAGIC   42
#define Q921_INC_COUNTER(x)   (x = (x + 1) % 128)
#define Q921_DEC_COUNTER(x)   (x = (x) ? (x - 1) : 127)
#define Q921_UFRAME_HEADER_SIZE   3
#define Q921_UFRAME_DATA_OFFSET(tr)   ((tr)->Q921HeaderSpace + Q921_UFRAME_HEADER_SIZE)
#define Q921_SFRAME_HEADER_SIZE   4
#define Q921_SFRAME_DATA_OFFSET(tr)   ((tr)->Q921HeaderSpace + Q921_SFRAME_HEADER_SIZE)
#define Q921_IFRAME_HEADER_SIZE   4
#define Q921_IFRAME_DATA_OFFSET(tr)   ((tr)->Q921HeaderSpace + Q921_IFRAME_HEADER_SIZE)
#define Q921_IS_TE(x)   ((x)->NetUser == Q921_TE)
#define Q921_IS_NT(x)   ((x)->NetUser == Q921_NT)
#define Q921_IS_STOPPED(tr)   ((tr)->state == Q921_STATE_STOPPED)
#define Q921_IS_READY(tr)   ((tr)->state >= Q921_STATE_TEI_ASSIGNED)
#define Q921_IS_PTMP(x)   ((x)->NetType == Q921_PTMP)
#define Q921_IS_PTMP_TE(x)   ((x)->NetType == Q921_PTMP && (x)->NetUser == Q921_TE)
#define Q921_IS_PTMP_NT(x)   ((x)->NetType == Q921_PTMP && (x)->NetUser == Q921_NT)
#define Q921_IS_PTP(x)   ((x)->NetType == Q921_PTP)
#define Q921_IS_PTP_TE(x)   ((x)->NetType == Q921_PTP && (x)->NetUser == Q921_TE)
#define Q921_IS_PTP_NT(x)   ((x)->NetType == Q921_PTP && (x)->NetUser == Q921_NT)
#define Q921_COMMAND(x)   ((x)->NetUser == Q921_TE ? 0 : 1)
#define Q921_RESPONSE(x)   ((x)->NetUser == Q921_TE ? 1 : 0)
#define Q921_IS_COMMAND(tr, x)   ((x) == (Q921_IS_TE(tr) ? 1 : 0))
#define Q921_IS_RESPONSE(tr, x)   ((x) == (Q921_IS_TE(tr) ? 0 : 1))

Enumerations

enum  Q921State_t {
  Q921_STATE_STOPPED = 0, Q921_STATE_TEI_UNASSIGNED = 1, Q921_STATE_TEI_AWAITING, Q921_STATE_TEI_ESTABLISH,
  Q921_STATE_TEI_ASSIGNED, Q921_STATE_AWAITING_ESTABLISHMENT, Q921_STATE_AWAITING_RELEASE, Q921_STATE_MULTIPLE_FRAME_ESTABLISHED,
  Q921_STATE_TIMER_RECOVERY, Q921_STATE_MAX
}
enum  Q921_Flags {
  Q921_FLAG_L3_INITIATED = (1 << 0), Q921_FLAG_UI_FRAME_QUEUED = (1 << 1), Q921_FLAG_I_FRAME_QUEUED = (1 << 2), Q921_FLAG_ACK_PENDING = (1 << 3),
  Q921_FLAG_REJECT = (1 << 4), Q921_FLAG_RECV_BUSY = (1 << 5), Q921_FLAG_PEER_RECV_BUSY = (1 << 6)
}
enum  Q921TeiMessageType_t {
  Q921_TEI_ID_REQUEST = 1, Q921_TEI_ID_ASSIGNED, Q921_TEI_ID_DENIED, Q921_TEI_ID_CHECKREQ,
  Q921_TEI_ID_CHECKRESP, Q921_TEI_ID_REMOVE, Q921_TEI_ID_VERIFY
}

Define Documentation

#define INITIALIZED_MAGIC   42

Definition at line 155 of file Q921priv.h.

Referenced by Q921_InitTrunk(), and Q921Start().

#define Q921_CHECK_FLAG (   x,
 
)    ((x)->flags & f)

Definition at line 80 of file Q921priv.h.

#define Q921_CLEAR_FLAG (   x,
 
)    ((x)->flags &= ~f)

Definition at line 81 of file Q921priv.h.

#define Q921_COMMAND (   x)    ((x)->NetUser == Q921_TE ? 0 : 1)

Definition at line 189 of file Q921priv.h.

Referenced by Q921Release(), Q921Rx32(), and Q921Start().

#define Q921_DEC_COUNTER (   x)    (x = (x) ? (x - 1) : 127)

Definition at line 161 of file Q921priv.h.

#define Q921_IFRAME_DATA_OFFSET (   tr)    ((tr)->Q921HeaderSpace + Q921_IFRAME_HEADER_SIZE)

Definition at line 170 of file Q921priv.h.

#define Q921_IFRAME_HEADER_SIZE   4

Definition at line 169 of file Q921priv.h.

#define Q921_INC_COUNTER (   x)    (x = (x + 1) % 128)

Definition at line 160 of file Q921priv.h.

#define Q921_IS_COMMAND (   tr,
 
)    ((x) == (Q921_IS_TE(tr) ? 1 : 0))

Definition at line 192 of file Q921priv.h.

#define Q921_IS_NT (   x)    ((x)->NetUser == Q921_NT)

Definition at line 173 of file Q921priv.h.

Referenced by Q921Establish(), Q921Release(), and Q921Rx32().

#define Q921_IS_PTMP (   x)    ((x)->NetType == Q921_PTMP)

Definition at line 180 of file Q921priv.h.

Referenced by Q921_InitTrunk(), and Q921Start().

#define Q921_IS_PTMP_NT (   x)    ((x)->NetType == Q921_PTMP && (x)->NetUser == Q921_NT)

Definition at line 182 of file Q921priv.h.

Referenced by Q921_InitTrunk(), Q921Start(), Q921Stop(), and Q921TimerTick().

#define Q921_IS_PTMP_TE (   x)    ((x)->NetType == Q921_PTMP && (x)->NetUser == Q921_TE)

Definition at line 181 of file Q921priv.h.

Referenced by Q921Rx12(), Q921Start(), and Q921Stop().

#define Q921_IS_PTP (   x)    ((x)->NetType == Q921_PTP)

Definition at line 184 of file Q921priv.h.

Referenced by Q921Start().

#define Q921_IS_PTP_NT (   x)    ((x)->NetType == Q921_PTP && (x)->NetUser == Q921_NT)

Definition at line 186 of file Q921priv.h.

#define Q921_IS_PTP_TE (   x)    ((x)->NetType == Q921_PTP && (x)->NetUser == Q921_TE)

Definition at line 185 of file Q921priv.h.

#define Q921_IS_READY (   tr)    ((tr)->state >= Q921_STATE_TEI_ASSIGNED)

Definition at line 178 of file Q921priv.h.

#define Q921_IS_RESPONSE (   tr,
 
)    ((x) == (Q921_IS_TE(tr) ? 0 : 1))

Definition at line 193 of file Q921priv.h.

#define Q921_IS_STOPPED (   tr)    ((tr)->state == Q921_STATE_STOPPED)

Definition at line 175 of file Q921priv.h.

Referenced by Q921Stop().

#define Q921_IS_TE (   x)    ((x)->NetUser == Q921_TE)

Definition at line 172 of file Q921priv.h.

Referenced by Q921Start().

#define Q921_LAYER_ENT_ID_Q931   0x08 /* Q.931 Layer Management Entity ID */

Definition at line 89 of file Q921priv.h.

#define Q921_LAYER_ENT_ID_TEI   0x0f /* UN Layer Management Entity ID for TEI Mgmt */

Definition at line 88 of file Q921priv.h.

#define Q921_LINK_CONTEXT (   tr,
  tei 
)    (Q921_IS_PTMP_NT(tr) && tei != Q921_TEI_BCAST) ? ((struct Q921_Link *)&(tr)->context[tei]) : (tr)->context
#define Q921_LOGBUFSIZE   2000

Definition at line 154 of file Q921priv.h.

#define Q921_RESPONSE (   x)    ((x)->NetUser == Q921_TE ? 1 : 0)

Definition at line 190 of file Q921priv.h.

#define Q921_SAPI_TEI   63 /* SAPI for all TEI Messages */

Definition at line 87 of file Q921priv.h.

#define Q921_SET_FLAG (   x,
 
)    ((x)->flags |= f)

Definition at line 79 of file Q921priv.h.

Referenced by Q921Establish(), and Q921Rx32().

#define Q921_SFRAME_DATA_OFFSET (   tr)    ((tr)->Q921HeaderSpace + Q921_SFRAME_HEADER_SIZE)

Definition at line 167 of file Q921priv.h.

#define Q921_SFRAME_HEADER_SIZE   4

Definition at line 166 of file Q921priv.h.

#define Q921_TRUNK_CONTEXT (   tr)    (tr)->context

Definition at line 151 of file Q921priv.h.

Referenced by Q921Start(), and Q921Stop().

#define Q921_UFRAME_DATA_OFFSET (   tr)    ((tr)->Q921HeaderSpace + Q921_UFRAME_HEADER_SIZE)

Definition at line 164 of file Q921priv.h.

#define Q921_UFRAME_HEADER_SIZE   3

Definition at line 163 of file Q921priv.h.


Enumeration Type Documentation

enum Q921_Flags
Enumerator:
Q921_FLAG_L3_INITIATED 
Q921_FLAG_UI_FRAME_QUEUED 
Q921_FLAG_I_FRAME_QUEUED 
Q921_FLAG_ACK_PENDING 
Q921_FLAG_REJECT 
Q921_FLAG_RECV_BUSY 
Q921_FLAG_PEER_RECV_BUSY 

Definition at line 66 of file Q921priv.h.

Enumerator:
Q921_STATE_STOPPED 
Q921_STATE_TEI_UNASSIGNED 
Q921_STATE_TEI_AWAITING 
Q921_STATE_TEI_ESTABLISH 
Q921_STATE_TEI_ASSIGNED 
Q921_STATE_AWAITING_ESTABLISHMENT 
Q921_STATE_AWAITING_RELEASE 
Q921_STATE_MULTIPLE_FRAME_ESTABLISHED 
Q921_STATE_TIMER_RECOVERY 
Q921_STATE_MAX 

Definition at line 48 of file Q921priv.h.

Enumerator:
Q921_TEI_ID_REQUEST 
Q921_TEI_ID_ASSIGNED 
Q921_TEI_ID_DENIED 
Q921_TEI_ID_CHECKREQ 
Q921_TEI_ID_CHECKRESP 
Q921_TEI_ID_REMOVE 
Q921_TEI_ID_VERIFY 

Definition at line 92 of file Q921priv.h.