cregit-Linux how code gets into the kernel

Release 4.12 include/uapi/linux/x25.h

/*
 * These are the public elements of the Linux kernel X.25 implementation.
 *
 *      History
 *      mar/20/00       Daniela Squassoni Disabling/enabling of facilities 
 *                                        negotiation.
 *      apr/02/05       Shaun Pereira Selective sub address matching with
 *                                      call user data
 */

#ifndef	X25_KERNEL_H

#define	X25_KERNEL_H

#include <linux/types.h>
#include <linux/socket.h>


#define	SIOCX25GSUBSCRIP	(SIOCPROTOPRIVATE + 0)

#define	SIOCX25SSUBSCRIP	(SIOCPROTOPRIVATE + 1)

#define	SIOCX25GFACILITIES	(SIOCPROTOPRIVATE + 2)

#define	SIOCX25SFACILITIES	(SIOCPROTOPRIVATE + 3)

#define	SIOCX25GCALLUSERDATA	(SIOCPROTOPRIVATE + 4)

#define	SIOCX25SCALLUSERDATA	(SIOCPROTOPRIVATE + 5)

#define	SIOCX25GCAUSEDIAG	(SIOCPROTOPRIVATE + 6)

#define SIOCX25SCUDMATCHLEN	(SIOCPROTOPRIVATE + 7)

#define SIOCX25CALLACCPTAPPRV   (SIOCPROTOPRIVATE + 8)

#define SIOCX25SENDCALLACCPT    (SIOCPROTOPRIVATE + 9)

#define SIOCX25GDTEFACILITIES (SIOCPROTOPRIVATE + 10)

#define SIOCX25SDTEFACILITIES (SIOCPROTOPRIVATE + 11)

#define SIOCX25SCAUSEDIAG	(SIOCPROTOPRIVATE + 12)

/*
 *      Values for {get,set}sockopt.
 */

#define	X25_QBITINCL		1

/*
 *      X.25 Packet Size values.
 */

#define	X25_PS16		4

#define	X25_PS32		5

#define	X25_PS64		6

#define	X25_PS128		7

#define	X25_PS256		8

#define	X25_PS512		9

#define	X25_PS1024		10

#define	X25_PS2048		11

#define	X25_PS4096		12

/*
 * An X.121 address, it is held as ASCII text, null terminated, up to 15
 * digits and a null terminator.
 */

struct x25_address {
	
char x25_addr[16];
};

/*
 *      Linux X.25 Address structure, used for bind, and connect mostly.
 */

struct sockaddr_x25 {
	
__kernel_sa_family_t sx25_family;	/* Must be AF_X25 */
	
struct x25_address sx25_addr;		/* X.121 Address */
};

/*
 *      DTE/DCE subscription options.
 *
 *      As this is missing lots of options, user should expect major
 *      changes of this structure in 2.5.x which might break compatibilty.
 *      The somewhat ugly dimension 200-sizeof() is needed to maintain
 *      backward compatibility.
 */

struct x25_subscrip_struct {
	
char device[200-sizeof(unsigned long)];
	
unsigned long	global_facil_mask;	/* 0 to disable negotiation */
	
unsigned int	extended;
};

/* values for above global_facil_mask */


#define	X25_MASK_REVERSE	0x01	

#define	X25_MASK_THROUGHPUT	0x02

#define	X25_MASK_PACKET_SIZE	0x04

#define	X25_MASK_WINDOW_SIZE	0x08


#define X25_MASK_CALLING_AE 0x10

#define X25_MASK_CALLED_AE 0x20


/*
 *      Routing table control structure.
 */

struct x25_route_struct {
	
struct x25_address address;
	
unsigned int	   sigdigits;
	
char		   device[200];
};

/*
 *      Facilities structure.
 */

struct x25_facilities {
	

unsigned int	winsize_in, winsize_out;
	

unsigned int	pacsize_in, pacsize_out;
	
unsigned int	throughput;
	
unsigned int	reverse;
};

/*
* ITU DTE facilities
* Only the called and calling address
* extension are currently implemented.
* The rest are in place to avoid the struct
* changing size if someone needs them later
*/


struct x25_dte_facilities {
	
__u16 delay_cumul;
	
__u16 delay_target;
	
__u16 delay_max;
	
__u8 min_throughput;
	
__u8 expedited;
	
__u8 calling_len;
	
__u8 called_len;
	
__u8 calling_ae[20];
	
__u8 called_ae[20];
};

/*
 *      Call User Data structure.
 */

struct x25_calluserdata {
	
unsigned int	cudlength;
	
unsigned char	cuddata[128];
};

/*
 *      Call clearing Cause and Diagnostic structure.
 */

struct x25_causediag {
	
unsigned char	cause;
	
unsigned char	diagnostic;
};

/*
 *      Further optional call user data match length selection
 */

struct x25_subaddr {
	
unsigned int cudmatchlength;
};

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)22170.38%440.00%
Shaun Pereira8125.80%330.00%
Ben Hutchings41.27%110.00%
Andrew Hendry41.27%110.00%
Arnaldo Carvalho de Melo41.27%110.00%
Total314100.00%10100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.