62 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/* sonet.h - SONET/SHD physical layer control */3 4/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */5 6 7#ifndef _UAPILINUX_SONET_H8#define _UAPILINUX_SONET_H9 10#define __SONET_ITEMS \11 __HANDLE_ITEM(section_bip); /* section parity errors (B1) */ \12 __HANDLE_ITEM(line_bip); /* line parity errors (B2) */ \13 __HANDLE_ITEM(path_bip); /* path parity errors (B3) */ \14 __HANDLE_ITEM(line_febe); /* line parity errors at remote */ \15 __HANDLE_ITEM(path_febe); /* path parity errors at remote */ \16 __HANDLE_ITEM(corr_hcs); /* correctable header errors */ \17 __HANDLE_ITEM(uncorr_hcs); /* uncorrectable header errors */ \18 __HANDLE_ITEM(tx_cells); /* cells sent */ \19 __HANDLE_ITEM(rx_cells); /* cells received */20 21struct sonet_stats {22#define __HANDLE_ITEM(i) int i23 __SONET_ITEMS24#undef __HANDLE_ITEM25} __attribute__ ((packed));26 27 28#define SONET_GETSTAT _IOR('a',ATMIOC_PHYTYP,struct sonet_stats)29 /* get statistics */30#define SONET_GETSTATZ _IOR('a',ATMIOC_PHYTYP+1,struct sonet_stats)31 /* ... and zero counters */32#define SONET_SETDIAG _IOWR('a',ATMIOC_PHYTYP+2,int)33 /* set error insertion */34#define SONET_CLRDIAG _IOWR('a',ATMIOC_PHYTYP+3,int)35 /* clear error insertion */36#define SONET_GETDIAG _IOR('a',ATMIOC_PHYTYP+4,int)37 /* query error insertion */38#define SONET_SETFRAMING _IOW('a',ATMIOC_PHYTYP+5,int)39 /* set framing mode (SONET/SDH) */40#define SONET_GETFRAMING _IOR('a',ATMIOC_PHYTYP+6,int)41 /* get framing mode */42#define SONET_GETFRSENSE _IOR('a',ATMIOC_PHYTYP+7, \43 unsigned char[SONET_FRSENSE_SIZE]) /* get framing sense information */44 45#define SONET_INS_SBIP 1 /* section BIP */46#define SONET_INS_LBIP 2 /* line BIP */47#define SONET_INS_PBIP 4 /* path BIP */48#define SONET_INS_FRAME 8 /* out of frame */49#define SONET_INS_LOS 16 /* set line to zero */50#define SONET_INS_LAIS 32 /* line alarm indication signal */51#define SONET_INS_PAIS 64 /* path alarm indication signal */52#define SONET_INS_HCS 128 /* insert HCS error */53 54#define SONET_FRAME_SONET 0 /* SONET STS-3 framing */55#define SONET_FRAME_SDH 1 /* SDH STM-1 framing */56 57#define SONET_FRSENSE_SIZE 6 /* C1[3],H1[3] (0xff for unknown) */58 59 60 61#endif /* _UAPILINUX_SONET_H */62