Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note *//* * 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