1
2
3
4
5
6
7#ifndef _UAPILINUX_SONET_H
8#define _UAPILINUX_SONET_H
9
10#define __SONET_ITEMS \
11 __HANDLE_ITEM(section_bip); \
12 __HANDLE_ITEM(line_bip); \
13 __HANDLE_ITEM(path_bip); \
14 __HANDLE_ITEM(line_febe); \
15 __HANDLE_ITEM(path_febe); \
16 __HANDLE_ITEM(corr_hcs); \
17 __HANDLE_ITEM(uncorr_hcs); \
18 __HANDLE_ITEM(tx_cells); \
19 __HANDLE_ITEM(rx_cells);
20
21struct sonet_stats {
22#define __HANDLE_ITEM(i) int i
23 __SONET_ITEMS
24#undef __HANDLE_ITEM
25} __attribute__ ((packed));
26
27
28#define SONET_GETSTAT _IOR('a',ATMIOC_PHYTYP,struct sonet_stats)
29
30#define SONET_GETSTATZ _IOR('a',ATMIOC_PHYTYP+1,struct sonet_stats)
31
32#define SONET_SETDIAG _IOWR('a',ATMIOC_PHYTYP+2,int)
33
34#define SONET_CLRDIAG _IOWR('a',ATMIOC_PHYTYP+3,int)
35
36#define SONET_GETDIAG _IOR('a',ATMIOC_PHYTYP+4,int)
37
38#define SONET_SETFRAMING _IOW('a',ATMIOC_PHYTYP+5,int)
39
40#define SONET_GETFRAMING _IOR('a',ATMIOC_PHYTYP+6,int)
41
42#define SONET_GETFRSENSE _IOR('a',ATMIOC_PHYTYP+7, \
43 unsigned char[SONET_FRSENSE_SIZE])
44
45#define SONET_INS_SBIP 1
46#define SONET_INS_LBIP 2
47#define SONET_INS_PBIP 4
48#define SONET_INS_FRAME 8
49#define SONET_INS_LOS 16
50#define SONET_INS_LAIS 32
51#define SONET_INS_PAIS 64
52#define SONET_INS_HCS 128
53
54#define SONET_FRAME_SONET 0
55#define SONET_FRAME_SDH 1
56
57#define SONET_FRSENSE_SIZE 6
58
59
60
61#endif
62