This ioctl has been superceded by the N_getVCstats ioctl. It is retained for backward compatibility with Solstice X.25 8.x. When writing new applications, use N_getVCstats.
This ioctl is used to retrieve per-virtual circuit state and statistics, for all virtual circuits currently active over all configured links.
The vcstatusf structure takes this format:
struct vcstatusf {
struct vcinfo vcs[MAX_VC_ENTS]; /* Data buffer */
int first_ent; /* Where to start search */
unsigned char num_ent; /* Number entries returned */
};
The members of the vcstatusf structure are:
Table 7-15 vcstatusf fields|
Member |
Description |
|---|---|
|
vcs |
An array of vcinfo structures, each of which contains the state and statistics for an individual virtual circuit. |
|
first_ent |
Informs the X.25 multiplexor where to start or restart the table read. It should initially be set to 0, to indicate starting at the beginning of the table. On return, it will be set to point to the next entry to be retrieved. |
|
num_ent |
Indicates the number of virtual circuit entries returned in the vcs member. It should be set to 0 before making the ioctl. |
The contents of the vcinfo structure are:
struct vcinfo {
struct xaddrf rem_addr; /* = called for outward calls */
/* = caller for inward calls */
uint32_t xu_ident; /* link id */
uint32_t process_id; /* effective user id */
unsigned short lci; /* Logical Channel Identifier */
unsigned char xstate; /* VC state */
unsigned char xtag; /* VC check record */
unsigned char ampvc; /* =1 if a PVC */
unsigned char call_direction;
/* in=0, out=1 */
unsigned char domain; /* was in 8.0, not in R7. Put it back */
int perVC_stats[perVCmon_size];
};
The xstate member contains the state of the VC. Possible states and meanings are:
Table 7-16 xstate summary|
Entry |
Description |
|---|---|
|
Idle |
Record is not in use |
|
AskingNRS |
CR is being validated by NRS |
|
P1 |
VC state is READY |
|
P2 |
VC in DTE CALL REQUEST |
|
P3 |
VC in DXE INCOMING CALL |
|
P5 |
VC in CALL COLLISION |
|
DataTransfer |
VC in P4 (see xflags |
|
DXEbusy |
VC in P4, DXE sent RNR |
|
D2 |
VC in DTE RESET REQUEST |
|
D2pending |
Wanting buffer for RESET |
|
WtgRCU |
Waiting U RSC to int.err. |
|
WtgRCN |
Waiting X.25 RSC for user |
|
WtgRCNpending |
Buffer reqd to enter state |
|
P4pending |
Buffer reqd for X.25 RSC |
|
pRESUonly |
Buffer for user rst only |
|
RESUonly |
User only being reset |
|
pDTransfer |
Buffer for RSC to user |
|
WRCUpending |
Buffer reqd internal RST |
|
DXErpending |
Buffer reqd RST indication |
|
DXEresetting |
Waiting U RSC to X.25 RI |
|
P6 |
VC in DTE CLEAR REQUEST |
|
P6pending |
Wanting buffer for CLEAR |
|
WUcpending |
Buffer reqd DI no netconn |
|
WUNcpending |
Buffer reqd internal DI |
|
DXEcpending |
Buffer reqd CLR REQ->User |
|
DXEcfpending |
Buffer reqd CLC to User |
The perVC_stats member contains statistics. Entries are statistics counts, as follows:
Table 7-17 perVC_stats summary|
Entry |
Description |
|---|---|
|
cll_in_v |
Calls received and indicated |
|
cll_out_v |
Calls sent |
|
caa_in_v |
Call established for outgoing |
|
caa_out_v |
Call established for incoming |
|
dt_in_v |
Data packets received |
|
dt_out_v |
Data packets sent |
|
ed_in_v |
Interrupts received |
|
ed_out_v |
Interrupts sent |
|
rnr_in_v |
Receiver not ready received |
|
rnr_out_v |
Receiver not ready sent |
|
rr_in_v |
Receiver ready rvcd |
|
rr_out_v |
Receiver ready sent |
|
rst_in_v |
Resets received |
|
rst_out_v |
Resets sent |
|
rsc_in_v |
Restart confirms received |
|
rsc_out_v |
Restart confirms sent |
|
clr_in_v |
Clears received |
|
clr_out_v |
Clears sent |
|
clc_in_v |
Clear confirms received |
|
clc_out_v |
Clear confirms sent |