cregit-Linux how code gets into the kernel

Release 4.11 drivers/isdn/hisax/l3ni1.h

/* $Id: l3ni1.h,v 2.3.6.2 2001/09/23 22:24:50 kai Exp $
 *
 * NI1 D-channel protocol
 *
 * Author       Matt Henderson & Guy Ellis
 * Copyright    by Traverse Technologies Pty Ltd, www.travers.com.au
 *
 * This software may be used and distributed according to the terms
 * of the GNU General Public License, incorporated herein by reference.
 *
 * 2000.6.6 Initial implementation of routines for US NI1
 * Layer 3 protocol based on the EURO/DSS1 D-channel protocol
 * driver written by Karsten Keil et al.  Thanks also for the
 * code provided by Ragnar Paulson.
 *
 */

#ifndef l3ni1_process


#define T302	15000

#define T303	4000

#define T304	30000

#define T305	30000

#define T308	4000
/* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
/* This makes some tests easier and quicker */

#define T309	40000

#define T310	30000

#define T313	4000

#define T318	4000

#define T319	4000

#define TSPID	5000 
/* was 2000 - Guy Ellis */

/*
 * Message-Types
 */


#define MT_ALERTING		0x01

#define MT_CALL_PROCEEDING	0x02

#define MT_CONNECT		0x07

#define MT_CONNECT_ACKNOWLEDGE	0x0f

#define MT_PROGRESS		0x03

#define MT_SETUP		0x05

#define MT_SETUP_ACKNOWLEDGE	0x0d

#define MT_RESUME		0x26

#define MT_RESUME_ACKNOWLEDGE	0x2e

#define MT_RESUME_REJECT	0x22

#define MT_SUSPEND		0x25

#define MT_SUSPEND_ACKNOWLEDGE	0x2d

#define MT_SUSPEND_REJECT	0x21

#define MT_USER_INFORMATION	0x20

#define MT_DISCONNECT		0x45

#define MT_RELEASE		0x4d

#define MT_RELEASE_COMPLETE	0x5a

#define MT_RESTART		0x46

#define MT_RESTART_ACKNOWLEDGE	0x4e

#define MT_SEGMENT		0x60

#define MT_CONGESTION_CONTROL	0x79

#define MT_INFORMATION		0x7b

#define MT_FACILITY		0x62

#define MT_NOTIFY		0x6e

#define MT_STATUS		0x7d

#define MT_STATUS_ENQUIRY	0x75

#define MT_DL_ESTABLISHED	0xfe


#define IE_SEGMENT	0x00

#define IE_BEARER	0x04

#define IE_CAUSE	0x08

#define IE_CALL_ID	0x10

#define IE_CALL_STATE	0x14

#define IE_CHANNEL_ID	0x18

#define IE_FACILITY	0x1c

#define IE_PROGRESS	0x1e

#define IE_NET_FAC	0x20

#define IE_NOTIFY	0x27

#define IE_DISPLAY	0x28

#define IE_DATE		0x29

#define IE_KEYPAD	0x2c

#define IE_SIGNAL	0x34

#define IE_SPID		0x3a

#define IE_ENDPOINT_ID	0x3b

#define IE_INFORATE	0x40

#define IE_E2E_TDELAY	0x42

#define IE_TDELAY_SEL	0x43

#define IE_PACK_BINPARA	0x44

#define IE_PACK_WINSIZE	0x45

#define IE_PACK_SIZE	0x46

#define IE_CUG		0x47

#define	IE_REV_CHARGE	0x4a

#define IE_CONNECT_PN	0x4c

#define IE_CONNECT_SUB	0x4d

#define IE_CALLING_PN	0x6c

#define IE_CALLING_SUB	0x6d

#define IE_CALLED_PN	0x70

#define IE_CALLED_SUB	0x71

#define IE_REDIR_NR	0x74

#define IE_TRANS_SEL	0x78

#define IE_RESTART_IND	0x79

#define IE_LLC		0x7c

#define IE_HLC		0x7d

#define IE_USER_USER	0x7e

#define IE_ESCAPE	0x7f

#define IE_SHIFT	0x90

#define IE_MORE_DATA	0xa0

#define IE_COMPLETE	0xa1

#define IE_CONGESTION	0xb0

#define IE_REPEAT	0xd0


#define IE_MANDATORY	0x0100
/* mandatory not in every case */

#define IE_MANDATORY_1	0x0200


#define ERR_IE_COMPREHENSION	 1

#define ERR_IE_UNRECOGNIZED	-1

#define ERR_IE_LENGTH		-2

#define ERR_IE_SEQUENCE		-3

#else /* only l3ni1_process */

/* l3ni1 specific data in l3 process */
typedef struct

{ unsigned char invoke_id; /* used invoke id in remote ops, 0 = not active */
	
ulong ll_id; /* remebered ll id */
	
u8 remote_operation; /* handled remote operation, 0 = not active */
	
int proc; /* rememered procedure */
	
ulong remote_result; /* result of remote operation for statcallb */
	
char uus1_data[35]; /* data send during alerting or disconnect */
} 
ni1_proc_priv;

/* l3dni1 specific data in protocol stack */
typedef struct

{ unsigned char last_invoke_id; /* last used value for invoking */
	
unsigned char invoke_used[32]; /* 256 bits for 256 values */
} 
ni1_stk_priv;

#endif /* only l3dni1_process */

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)41299.52%250.00%
Kai Germaschewski10.24%125.00%
Joe Perches10.24%125.00%
Total414100.00%4100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.