114 lines
2.7 KiB
C
114 lines
2.7 KiB
C
#ifndef _PRIM_H
|
|
#define _PRIM_H
|
|
|
|
#include <linux/config.h>
|
|
#include "compat.h"
|
|
#include "config.h"
|
|
#include "kernel.h"
|
|
|
|
#include "msgtype.h"
|
|
#ifdef __KERNEL__
|
|
#include <linux/types.h>
|
|
#include <linux/param.h>
|
|
#else
|
|
#include <sys/types.h>
|
|
#include <sys/param.h>
|
|
#endif
|
|
#ifdef linux
|
|
#include <linux/major.h>
|
|
#ifdef KERNEL
|
|
#include "compat.h"
|
|
#else
|
|
#include <stdio.h> /* printf */
|
|
#include <unistd.h>
|
|
#include <stddef.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#endif
|
|
#endif
|
|
|
|
#define bcopy(a,b,c) memcpy(b,a,c)
|
|
#define bzero(a,b) memset(a,0,b)
|
|
|
|
/**
|
|
** Primitives for L2<->L3 signalling.
|
|
**
|
|
** Also necessary macros for L3<->L4 signalling.
|
|
**
|
|
** Also basic channel modes.
|
|
**
|
|
** Also basic omissions...
|
|
**/
|
|
|
|
#ifndef NULL
|
|
#define NULL (void *)0
|
|
#endif
|
|
|
|
#if BYTE_ORDER == LITTLE_ENDIAN
|
|
#define CHAR2(b,a) (((a)<<8)|(b))
|
|
#define CHAR4(d,c,b,a) (((((((a)<<8)|(b))<<8)|(c))<<8)|(d))
|
|
#else
|
|
#define CHAR2(a,b) (((a)<<8)|(b))
|
|
#define CHAR4(a,b,c,d) (((((((a)<<8)|(b))<<8)|(c))<<8)|(d))
|
|
#endif
|
|
|
|
#define IND_UP_FIRST 0
|
|
#define DL_ESTABLISH_REQ 1
|
|
#define DL_ESTABLISH_IND 2
|
|
#define DL_ESTABLISH_CONF 3
|
|
|
|
#define PH_ACTIVATE_IND 11 /* Bus goes up */
|
|
#define PH_ACTIVATE_REQ 12
|
|
#define PH_ACTIVATE_CONF 13
|
|
#define PH_ACTIVATE_NOTE 14 /* saw activity */
|
|
#define IND_UP_LAST 20
|
|
|
|
#define DL_RELEASE_REQ 21
|
|
#define DL_RELEASE_IND 22
|
|
#define DL_RELEASE_CONF 23
|
|
|
|
#define PH_DEACTIVATE_REQ 31 /* Bus goes down */
|
|
#define PH_DEACTIVATE_IND 32
|
|
#define PH_DEACTIVATE_CONF 33
|
|
#define PH_DISCONNECT_IND 34 /* Bus isn't likely to come up any time soon */
|
|
|
|
#define MDL_ASSIGN_REQ 41 /* no state for this one */
|
|
#define MDL_REMOVE_REQ 42
|
|
#define MDL_ERROR_IND 45
|
|
|
|
#define ERR_A 01
|
|
#define ERR_B 02
|
|
#define ERR_C 04
|
|
#define ERR_D 010
|
|
#define ERR_E 020
|
|
#define ERR_F 040
|
|
#define ERR_G 0100
|
|
#define ERR_H 0200
|
|
#define ERR_I 0400
|
|
#define ERR_J 01000
|
|
#define ERR_K 02000
|
|
#define ERR_L 04000
|
|
#define ERR_M 010000
|
|
#define ERR_N 020000
|
|
#define ERR_O 040000
|
|
|
|
#define M_FREE 0
|
|
#define M_OFF M_FREE
|
|
#define M_STANDBY 1
|
|
#define M_ON 2
|
|
|
|
/* These flags share a common space. PROT_* is for the isdn_2 interaction
|
|
with the module list, PUSH_* is also for picking which modules to kick. */
|
|
#define PROT_FROMSTACK 01 /* travels from the channel to the master */
|
|
#define PROT_MODLIST 02 /* module list */
|
|
#define PROT_TOCARD 04 /* internal to isdn_2.c: send to card first, if there's a handler */
|
|
#define PUSH_UPDATE 010 /* Do not unload the old stack */
|
|
#define PUSH_BEFORE 020 /* Only unload the modules before reconn */
|
|
#define PUSH_AFTER 040 /* only do the modules after reconn */
|
|
|
|
/* Card modes */
|
|
|
|
#define CHM_INTELLIGENT 01 /* If this bit is set, the card is clever and modes>>1 has the ID of the high-level driver. */
|
|
|
|
#endif /* _PRIM_H */
|