build: add the SIBO SDK
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
/* HEADER - P_NCP.H
|
||||
Copyright (C) Psion PLC 1991-92
|
||||
VER DATE BY DESCRIPTION
|
||||
===== ======== === ===========
|
||||
1.00F 26/04/90 NSM First relase
|
||||
1.10F 07/07/92 NSM Second release
|
||||
*/
|
||||
#ifndef P_NCP_H
|
||||
#define P_NCP_H
|
||||
|
||||
#include <stdepoc.h>
|
||||
|
||||
#define NCLINK_VERSION_NUMBER 3
|
||||
#define NCLINK_MINOR_VERNO 1
|
||||
typedef struct
|
||||
{
|
||||
unsigned char *pcb; /* Handle to call */
|
||||
int handler; /* Handler handler */
|
||||
unsigned char *(*Install)(); /* Install server */
|
||||
void (*Remove)(); /* Remove the server */
|
||||
int (*WaitHandler)(); /* Wait handler function to call */
|
||||
unsigned char name[16]; /* name of the server */
|
||||
} P_NCP;
|
||||
/* Informational data obtained by supervisory reads */
|
||||
#define PHYS_LINK_FAILED 0 /* Link layer has failed*/
|
||||
#define PHYS_CONNECT_FAILED 1 /* Waiting for connection failed */
|
||||
#define PHYS_CHARS_FAILED 2 /* Setting serial characteristics failed */
|
||||
#define PHYS_INIT_FAILED 3 /* Initialization of modem failed */
|
||||
#define PHYS_DIAL_FAILED 4 /* Dialling phone number failed */
|
||||
#define PHYS_MDMCONFIG_FAILED 5 /* additional modem config failed */
|
||||
#define PHYS_PHYS_LINK_ESTABLISHED 6 /* A physical link established */
|
||||
#define PHYS_WAITING_FOR_CALL 7 /* Physical layer waiting for call */
|
||||
#define PHYS_DIALLING_NUMBER 8 /* Physical layer dialling */
|
||||
#define PHYS_CONFIGURING_MODEM 9 /* configuring modem */
|
||||
#define PHYS_NCP_LINK_ESTAB_OK 10 /* Ncp link established OK */
|
||||
#define PHYS_NCP_LINK_ESTAB_NEW_NCP 11 /* Talking to different Ncp */
|
||||
#define PHYS_NCP_LINK_ESTAB_INVALID_VER 12 /* Remote NCP is V1.0 !!*/
|
||||
#define PHYS_NCP_LINK_END 13 /* remote NCP is terminating */
|
||||
#define PHYS_SERCONFIG_FAILED 14 /* serial port not there */
|
||||
/* type of message to add to the queue */
|
||||
#define NCONT_MSG_SEND 0 /* controller */
|
||||
#define NUSER_MSG_SEND 1 /* users */
|
||||
#define NEXPEDIATED_MSG_SEND 2 /* expediated */
|
||||
/***************************************************************************/
|
||||
/* NUCB flags defines */
|
||||
#define NUFLAG_WRITE_HELD 0x01
|
||||
#define NUFLAG_WRITE_OUTSTANDING 0x02
|
||||
#define NUFLAG_CONNECT_REQUEST 0x08
|
||||
#define NUFLAG_DISCONNECTED 0x10
|
||||
#define NUFLAG_ALLOCATED 0x20
|
||||
#define NUFLAG_CHANNEL_CLOSED 0x40
|
||||
#define NUFLAG_DISCONNECT_REQUEST 0x80
|
||||
#define NUFLAG_TEMPDISC 0x100
|
||||
#define NUFLAG_NO_CONNECTION (NUFLAG_TEMPDISC|NUFLAG_DISCONNECTED)
|
||||
#define NC_VERSION_NUMBER 2 /* were version 2 */
|
||||
#define NC_MAX_USERCB 8 /* Max number of connected users */
|
||||
#define NC_MSG_SIZE 8 /* Max inter controller msg size */
|
||||
typedef struct nudata /* Network user data control block */
|
||||
{
|
||||
struct nudata *pnudata; /* next control blk in list */
|
||||
unsigned short int reclen; /* amount in buffer */
|
||||
unsigned char recbuf[1]; /* expands as required (for C offset) */
|
||||
} NUDATA;
|
||||
typedef struct /* Network User control block */
|
||||
{
|
||||
P_ICB icb; /* I/O control block */
|
||||
unsigned short int flags; /* controlling flags */
|
||||
P_RQPKT read; /* read request block */
|
||||
P_RQPKT write; /* write request block */
|
||||
P_RQPKT super; /* supervisory read request blk */
|
||||
P_NCP *pncp; /* open channel control blk ptr */
|
||||
unsigned char localchanid; /* local channel id number */
|
||||
unsigned char remotechanid; /* remote channel id number */
|
||||
unsigned char *pncb; /* Network handle */
|
||||
unsigned char *handler; /* Network client wait handler handle */
|
||||
NUDATA *pnudata; /* Network users queued data */
|
||||
unsigned short int nclen; /* amount in the Network Controller msg buffer */
|
||||
unsigned char ncbuf[NC_MSG_SIZE]; /* message buffer */
|
||||
unsigned short int recvbytes; /* Number of bytes received (>1K) */
|
||||
unsigned short int xmitbytes; /* Number of bytes xmitted (>1K) */
|
||||
unsigned long int recvK; /* Number of K received */
|
||||
unsigned long int xmitK; /* Number of K transmitted */
|
||||
} NUCB;
|
||||
/*************************************************************************/
|
||||
/* Inter controller message types */
|
||||
#define NCON_MSG_DATA_XOFF 1
|
||||
#define NCON_MSG_DATA_XON 2
|
||||
#define NCON_MSG_CONNECT_TO_SERVER 3
|
||||
#define NCON_MSG_CONNECT_RESPONSE 4
|
||||
#define NCON_MSG_CHANNEL_CLOSED 5
|
||||
#define NCON_MSG_NCP_INFO 6 /* MUST BE 6 for older versions*/
|
||||
#define NCON_MSG_CHANNEL_DISCONNECT 7
|
||||
#define NCON_MSG_NCP_END 8
|
||||
/* Inter Network user message types */
|
||||
#define NU_MSG_WRITECOMPLETE 1
|
||||
#define NU_MSG_WRITEPARTIAL 2
|
||||
#define NC_LINK_ACTIVE 0x01
|
||||
#define NC_READ_QUEUED 0x02
|
||||
#define NC_WRITE_QUEUED 0x04
|
||||
#define NC_TERMINATING 0x08
|
||||
#define NC_OWNER_CLOSE_REQUEST 0x10
|
||||
#define CONNECT_STATE_0 0
|
||||
#define CONNECT_STATE_1 1
|
||||
#define CONNECT_STATE_2 2
|
||||
typedef struct
|
||||
{
|
||||
unsigned short int flags; /* Controlling flags */
|
||||
short int ctrlmsgqueue; /* Network users have controller messages queued */
|
||||
short int ctrllastxmit; /* Network users last transmitted a ctrl msg */
|
||||
short int usermsgqueue; /* Network users have queued write requests */
|
||||
short int userlastxmit; /* Network users last transmitted a user msg */
|
||||
unsigned short int maxfrmsize; /* maximum frame we can transmit/receive */
|
||||
short int wstat; /* Write completion status */
|
||||
short int rstat; /* Read completion status */
|
||||
unsigned short int wlen; /* Write length */
|
||||
unsigned short int rlen; /* Read length */
|
||||
unsigned char *handler; /* Network controller wait handler handle */
|
||||
unsigned char *plcb; /* link layer that were using */
|
||||
unsigned short int connected; /* connected state */
|
||||
unsigned short int remotencpver; /* the remote NCP version number */
|
||||
unsigned long int startdate; /* NCP start up date (logon id) */
|
||||
unsigned long int remotestartdate; /* the remote NCP logon id */
|
||||
unsigned short int expediatedlen; /* amount in expediated buf to transmit */
|
||||
unsigned char expediatedbuf[NC_MSG_SIZE];
|
||||
NUCB *lastnucb; /* last network user to do a write */
|
||||
unsigned char rbuf[P_MAXILEN]; /* read buffer */
|
||||
unsigned char wbuf[P_MAXILEN]; /* write buffer */
|
||||
NUCB usertable[NC_MAX_USERCB];
|
||||
} NCB;
|
||||
|
||||
#endif // P_NCP_H
|
||||
Reference in New Issue
Block a user