Home | History | Annotate | Download | only in linux
      1 /*****************************************************************************
      2 * if_wanpipe.h	Header file for the Sangoma AF_WANPIPE Socket
      3 *
      4 * Author: 	Nenad Corbic
      5 *
      6 * Copyright:	(c) 2000 Sangoma Technologies Inc.
      7 *
      8 *		This program is free software; you can redistribute it and/or
      9 *		modify it under the terms of the GNU General Public License
     10 *		as published by the Free Software Foundation; either version
     11 *		2 of the License, or (at your option) any later version.
     12 * ============================================================================
     13 *
     14 * Jan 28, 2000	Nenad Corbic 	Initial Version
     15 *
     16 *****************************************************************************/
     17 
     18 #ifndef __LINUX_IF_WAN_PACKET_H
     19 #define __LINUX_IF_WAN_PACKET_H
     20 
     21 struct wan_sockaddr_ll
     22 {
     23 	unsigned short	sll_family;
     24 	unsigned short	sll_protocol;
     25 	int		sll_ifindex;
     26 	unsigned short	sll_hatype;
     27 	unsigned char	sll_pkttype;
     28 	unsigned char	sll_halen;
     29 	unsigned char	sll_addr[8];
     30 	unsigned char   sll_device[14];
     31 	unsigned char 	sll_card[14];
     32 };
     33 
     34 typedef struct
     35 {
     36 	unsigned char free;
     37 	unsigned char state_sk;
     38 	int rcvbuf;
     39 	int sndbuf;
     40 	int rmem;
     41 	int wmem;
     42 	int sk_count;
     43 	unsigned char bound;
     44 	char name[14];
     45 	unsigned char d_state;
     46 	unsigned char svc;
     47 	unsigned short lcn;
     48 	unsigned char mbox;
     49 	unsigned char cmd_busy;
     50 	unsigned char command;
     51 	unsigned poll;
     52 	unsigned poll_cnt;
     53 	int rblock;
     54 } wan_debug_hdr_t;
     55 
     56 #define MAX_NUM_DEBUG  10
     57 #define X25_PROT       0x16
     58 #define PVC_PROT       0x17
     59 
     60 typedef struct
     61 {
     62 	wan_debug_hdr_t debug[MAX_NUM_DEBUG];
     63 }wan_debug_t;
     64 
     65 #define	SIOC_WANPIPE_GET_CALL_DATA	(SIOCPROTOPRIVATE + 0)
     66 #define	SIOC_WANPIPE_SET_CALL_DATA	(SIOCPROTOPRIVATE + 1)
     67 #define SIOC_WANPIPE_ACCEPT_CALL	(SIOCPROTOPRIVATE + 2)
     68 #define SIOC_WANPIPE_CLEAR_CALL	        (SIOCPROTOPRIVATE + 3)
     69 #define SIOC_WANPIPE_RESET_CALL	        (SIOCPROTOPRIVATE + 4)
     70 #define SIOC_WANPIPE_DEBUG	        (SIOCPROTOPRIVATE + 5)
     71 #define SIOC_WANPIPE_SET_NONBLOCK	(SIOCPROTOPRIVATE + 6)
     72 #define SIOC_WANPIPE_CHECK_TX		(SIOCPROTOPRIVATE + 7)
     73 #define SIOC_WANPIPE_SOCK_STATE		(SIOCPROTOPRIVATE + 8)
     74 
     75 /* Packet types */
     76 
     77 #define WAN_PACKET_HOST		0		/* To us		*/
     78 #define WAN_PACKET_BROADCAST	1		/* To all		*/
     79 #define WAN_PACKET_MULTICAST	2		/* To group		*/
     80 #define WAN_PACKET_OTHERHOST	3		/* To someone else 	*/
     81 #define WAN_PACKET_OUTGOING		4		/* Outgoing of any type */
     82 /* These ones are invisible by user level */
     83 #define WAN_PACKET_LOOPBACK		5		/* MC/BRD frame looped back */
     84 #define WAN_PACKET_FASTROUTE	6		/* Fastrouted frame	*/
     85 
     86 
     87 /* X25 specific */
     88 #define WAN_PACKET_DATA 	7
     89 #define WAN_PACKET_CMD 		8
     90 #define WAN_PACKET_ASYNC	9
     91 #define WAN_PACKET_ERR	       10
     92 
     93 /* Packet socket options */
     94 
     95 #define WAN_PACKET_ADD_MEMBERSHIP		1
     96 #define WAN_PACKET_DROP_MEMBERSHIP		2
     97 
     98 #define WAN_PACKET_MR_MULTICAST	0
     99 #define WAN_PACKET_MR_PROMISC	1
    100 #define WAN_PACKET_MR_ALLMULTI	2
    101 
    102 
    103 #endif
    104