These are for expert use only. Solstice X.25 permits a maximum of 64 (MAX_PRIVATE) bytes of non-X.25 facilities. These are not looked at by Solstice X.25, but just passed through. Non-X.25 facilities consist of a sequence of facility blocks, where each block begins with a facility marker indicating non-X.25 facilities supported by either the local or remote network, or some arbitrary facility marker. This is set as follows:
typedef struct private_fact_s { u_char p_len; /* total length of facilities*/ #define MAX_PRIVATE 64 u_char p_fact[MAX_PRIVATE]; /* facilities exactly as they * are present in Call Request or * Call Accept packets */ } PRIVATE_FACT; PRIVATE_FACT private; /* set the p_len and p_fact fields */ f.type = T_PRIVATE; f.f_private = private; error = ioctl(s, X25_SET_FACILITY, &f);
It is read as follows:
f.type = T_PRIVATE; error = ioctl(s, X25_GET_FACILITY, &f); private = f.f_private;