Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /* sonet.h - SONET/SHD physical layer control */
0003  
0004 /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
0005  
0006 
0007 #ifndef _UAPILINUX_SONET_H
0008 #define _UAPILINUX_SONET_H
0009 
0010 #define __SONET_ITEMS \
0011     __HANDLE_ITEM(section_bip);     /* section parity errors (B1) */ \
0012     __HANDLE_ITEM(line_bip);        /* line parity errors (B2) */ \
0013     __HANDLE_ITEM(path_bip);        /* path parity errors (B3) */ \
0014     __HANDLE_ITEM(line_febe);       /* line parity errors at remote */ \
0015     __HANDLE_ITEM(path_febe);       /* path parity errors at remote */ \
0016     __HANDLE_ITEM(corr_hcs);        /* correctable header errors */ \
0017     __HANDLE_ITEM(uncorr_hcs);      /* uncorrectable header errors */ \
0018     __HANDLE_ITEM(tx_cells);        /* cells sent */ \
0019     __HANDLE_ITEM(rx_cells);        /* cells received */
0020 
0021 struct sonet_stats {
0022 #define __HANDLE_ITEM(i) int i
0023     __SONET_ITEMS
0024 #undef __HANDLE_ITEM
0025 } __attribute__ ((packed));
0026 
0027 
0028 #define SONET_GETSTAT   _IOR('a',ATMIOC_PHYTYP,struct sonet_stats)
0029                     /* get statistics */
0030 #define SONET_GETSTATZ  _IOR('a',ATMIOC_PHYTYP+1,struct sonet_stats)
0031                     /* ... and zero counters */
0032 #define SONET_SETDIAG   _IOWR('a',ATMIOC_PHYTYP+2,int)
0033                     /* set error insertion */
0034 #define SONET_CLRDIAG   _IOWR('a',ATMIOC_PHYTYP+3,int)
0035                     /* clear error insertion */
0036 #define SONET_GETDIAG   _IOR('a',ATMIOC_PHYTYP+4,int)
0037                     /* query error insertion */
0038 #define SONET_SETFRAMING _IOW('a',ATMIOC_PHYTYP+5,int)
0039                     /* set framing mode (SONET/SDH) */
0040 #define SONET_GETFRAMING _IOR('a',ATMIOC_PHYTYP+6,int)
0041                     /* get framing mode */
0042 #define SONET_GETFRSENSE _IOR('a',ATMIOC_PHYTYP+7, \
0043   unsigned char[SONET_FRSENSE_SIZE])    /* get framing sense information */
0044 
0045 #define SONET_INS_SBIP    1     /* section BIP */
0046 #define SONET_INS_LBIP    2     /* line BIP */
0047 #define SONET_INS_PBIP    4     /* path BIP */
0048 #define SONET_INS_FRAME   8     /* out of frame */
0049 #define SONET_INS_LOS    16     /* set line to zero */
0050 #define SONET_INS_LAIS   32     /* line alarm indication signal */
0051 #define SONET_INS_PAIS   64     /* path alarm indication signal */
0052 #define SONET_INS_HCS   128     /* insert HCS error */
0053 
0054 #define SONET_FRAME_SONET 0     /* SONET STS-3 framing */
0055 #define SONET_FRAME_SDH   1     /* SDH STM-1 framing */
0056 
0057 #define SONET_FRSENSE_SIZE 6        /* C1[3],H1[3] (0xff for unknown) */
0058 
0059 
0060 
0061 #endif /* _UAPILINUX_SONET_H */