mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
470 lines
12 KiB
470 lines
12 KiB
/***************************************************************************
|
|
*
|
|
* File Name: ./netware/tiuser.h
|
|
*
|
|
* Copyright (C) 1993-1996 Hewlett-Packard Company.
|
|
* All rights reserved.
|
|
*
|
|
* 11311 Chinden Blvd.
|
|
* Boise, Idaho 83714
|
|
*
|
|
* This is a part of the HP JetAdmin Printer Utility
|
|
*
|
|
* This source code is only intended as a supplement for support and
|
|
* localization of HP JetAdmin by 3rd party Operating System vendors.
|
|
* Modification of source code cannot be made without the express written
|
|
* consent of Hewlett-Packard.
|
|
*
|
|
*
|
|
* Description:
|
|
*
|
|
* Author: Name
|
|
*
|
|
*
|
|
* Modification history:
|
|
*
|
|
* date initials change description
|
|
*
|
|
* mm-dd-yy MJB
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
***************************************************************************/
|
|
|
|
/** Copyright (c) 1989 Mentat Inc.
|
|
**/
|
|
|
|
/****************************************************************************
|
|
* *
|
|
* (C) Unpublished Copyright of Novell, Inc. All Rights Reserved *
|
|
* *
|
|
* No part of this file may be duplicayed, revised, translated, localized *
|
|
* or modified in any manner or compiled, linked or uploaded or downloaded *
|
|
* to or from any computer system without the prior written consent of *
|
|
* Novell, Inc. *
|
|
* *
|
|
*****************************************************************************/
|
|
|
|
#ifndef _TIUSER_
|
|
#define _TIUSER_
|
|
|
|
/*
|
|
* OS Specific Definitions
|
|
*/
|
|
|
|
/* ---------- DOS Specific definitions */
|
|
|
|
#ifdef NWDOS
|
|
|
|
#ifndef FAR
|
|
#define FAR
|
|
#endif
|
|
|
|
#ifndef API
|
|
#define API
|
|
#endif
|
|
|
|
extern int t_errno;
|
|
|
|
#endif /* NWDOS */
|
|
|
|
/* ---------- OS/2 Specific definitions */
|
|
|
|
#ifdef NWOS2
|
|
|
|
#ifndef FAR
|
|
#define FAR _far
|
|
#endif
|
|
|
|
#ifndef API
|
|
#define API pascal _far _loadds
|
|
#endif
|
|
|
|
#define t_errno (*terrno_func())
|
|
extern int _far * API terrno_func(void);
|
|
|
|
#define MAX_TLI_CONNECTIONS 40
|
|
|
|
#endif /* NWOS2 */
|
|
|
|
/* ---------- Windows Specific definitions */
|
|
|
|
#ifdef NWWIN
|
|
|
|
#ifndef FAR
|
|
#define FAR far
|
|
#endif
|
|
|
|
#ifndef API
|
|
#define PASCAL pascal
|
|
#define API PASCAL FAR
|
|
#endif
|
|
|
|
#define t_errno (*terrno_func())
|
|
extern int far * API terrno_func(void);
|
|
|
|
#define MAX_TLI_CONNECTIONS 40
|
|
|
|
/*
|
|
* O_RDWR is defined as different values for various compilers.
|
|
* The compiler used in the TLI DLLs use the following value.
|
|
* This value must be used in any program interfacing with TLI.
|
|
*/
|
|
#define O_RDWR 0x02
|
|
|
|
#endif /* NWWIN */
|
|
|
|
/*
|
|
* End of OS Specific Definitions
|
|
*/
|
|
|
|
#ifndef O_NONBLOCK
|
|
#define O_NDELAY 0x4000
|
|
#define O_NONBLOCK O_NDELAY
|
|
#endif
|
|
|
|
#ifndef EAGAIN
|
|
#define EAGAIN -1
|
|
#endif
|
|
|
|
/* Error values */
|
|
|
|
#define TBADADDR 1
|
|
#define TBADOPT 2
|
|
#define TACCES 3
|
|
#define TBADF 4
|
|
#define TNOADDR 5
|
|
#define TOUTSTATE 6
|
|
#define TBADSEQ 7
|
|
#define TSYSERR 8
|
|
#define TLOOK 9
|
|
#define TBADDATA 10
|
|
#define TBUFOVFLW 11
|
|
#define TFLOW 12
|
|
#define TNODATA 13
|
|
#define TNODIS 14
|
|
#define TNOUDERR 15
|
|
#define TBADFLAG 16
|
|
#define TNOREL 17
|
|
#define TNOTSUPPORT 18
|
|
#define TSTATECHNG 19
|
|
#define TNOSTRUCTYPE 20
|
|
#define TBADNAME 21
|
|
#define TBADQLEN 22
|
|
#define TADDRBUSY 23
|
|
|
|
/* t_look events */
|
|
|
|
#define T_LISTEN 0x0001
|
|
#define T_CONNECT 0x0002
|
|
#define T_DATA 0x0004
|
|
#define T_EXDATA 0x0008
|
|
#define T_DISCONNECT 0x0010
|
|
#define T_UDERR 0x0040
|
|
#define T_ORDREL 0x0080
|
|
#define T_GODATA 0x0100
|
|
#define T_GOEXDATA 0x0200
|
|
#define T_EVENTS 0x0400
|
|
#define T_ERROR 0x0500 /* Netware.tli specific t_look event */
|
|
|
|
/* Flag definitions */
|
|
|
|
#define T_MORE 0x01
|
|
#define T_EXPEDITED 0x02
|
|
#define T_NEGOTIATE 0x04
|
|
#define T_CHECK 0x08
|
|
#define T_DEFAULT 0x10
|
|
#define T_SUCCESS 0x20
|
|
#define T_FAILURE 0x40
|
|
|
|
/* T_event flag values */
|
|
|
|
#define T_DISABLE 0
|
|
#define T_ENABLE 1
|
|
#define T_SAME 2
|
|
|
|
extern char FAR *t_errlist[];
|
|
extern int t_nerr;
|
|
|
|
|
|
struct t_info {
|
|
long addr;
|
|
long options;
|
|
long tsdu;
|
|
long etsdu;
|
|
long connect;
|
|
long discon;
|
|
long servtype;
|
|
};
|
|
|
|
/* Service types */
|
|
|
|
#define T_COTS 01 /* Connection-mode service */
|
|
#define T_COTS_ORD 02 /* Connection service with orderly release */
|
|
#define T_CLTS 03 /* Connectionless-mode service */
|
|
|
|
|
|
struct netbuf {
|
|
unsigned int maxlen;
|
|
unsigned int len;
|
|
char FAR *buf;
|
|
};
|
|
|
|
struct t_bind {
|
|
struct netbuf addr;
|
|
unsigned qlen;
|
|
};
|
|
|
|
struct t_optmgmt {
|
|
struct netbuf opt;
|
|
long flags;
|
|
};
|
|
|
|
struct t_discon {
|
|
struct netbuf udata;
|
|
int reason;
|
|
int sequence;
|
|
};
|
|
|
|
struct t_call {
|
|
struct netbuf addr;
|
|
struct netbuf opt;
|
|
struct netbuf udata;
|
|
int sequence;
|
|
};
|
|
|
|
struct t_unitdata {
|
|
struct netbuf addr;
|
|
struct netbuf opt;
|
|
struct netbuf udata;
|
|
};
|
|
|
|
struct t_uderr {
|
|
struct netbuf addr;
|
|
struct netbuf opt;
|
|
long error;
|
|
};
|
|
|
|
/* t_alloc structure types */
|
|
|
|
#define T_BIND_STR 1
|
|
#define T_OPTMGMT_STR 2
|
|
#define T_CALL_STR 3
|
|
#define T_DIS_STR 4
|
|
#define T_UNITDATA_STR 5
|
|
#define T_UDERROR_STR 6
|
|
#define T_INFO_STR 7
|
|
|
|
/* t_alloc field identifiers */
|
|
|
|
#define T_ADDR 0x01
|
|
#define T_OPT 0x02
|
|
#define T_UDATA 0x04
|
|
|
|
/* #define T_ALL 0x07 */
|
|
#define T_ALL 0x08 /* modified to suit netware.tli */
|
|
|
|
/* redefine t_alloc types to suit AT&T specs */
|
|
|
|
#define T_BIND T_BIND_STR
|
|
#define T_CALL T_CALL_STR
|
|
#define T_OPTMGMT T_OPTMGMT_STR
|
|
#define T_DIS T_DIS_STR
|
|
#define T_UNITDATA T_UNITDATA_STR
|
|
#define T_UDERROR T_UDERROR_STR
|
|
#define T_INFO T_INFO_STR
|
|
|
|
|
|
/* State values */
|
|
|
|
#define T_UNINIT 0 /* added to match xti state tables */
|
|
#define T_UNBND 1 /* unbound */
|
|
#define T_IDLE 2 /* idle */
|
|
#define T_OUTCON 3 /* outgoing connection pending */
|
|
#define T_INCON 4 /* incoming connection pending */
|
|
#define T_DATAXFER 5 /* data transfer */
|
|
#define T_OUTREL 6 /* outgoing orderly release */
|
|
#define T_INREL 7 /* incoming orderly release */
|
|
|
|
/* general purpose defines */
|
|
#define T_YES 1
|
|
#define T_NO 0
|
|
#define T_UNUSED -1
|
|
#define T_NULL 0
|
|
#define T_ABSREQ 0x8000
|
|
|
|
|
|
/* ------------------------OSI specific Options-------------------------*/
|
|
|
|
/* ISO definitions */
|
|
|
|
#define T_CLASS0 0
|
|
#define T_CLASS1 1
|
|
#define T_CLASS2 2
|
|
#define T_CLASS3 3
|
|
#define T_CLASS4 4
|
|
|
|
/* priorities */
|
|
|
|
#define T_PRITOP 0
|
|
#define T_PRIHIGH 1
|
|
#define T_PRIMID 2
|
|
#define T_PRILOW 3
|
|
#define T_PRIDFLT 4
|
|
|
|
/* protection levels */
|
|
|
|
#define T_NOPROTECT 1
|
|
#define T_PASSIVEPROTECT 2
|
|
#define T_ACTIVEPROTECT 4
|
|
|
|
/* default value for the length of TPDU's */
|
|
|
|
#define T_LTPDUDFLT 128
|
|
|
|
/* rate structure */
|
|
|
|
struct rate {
|
|
long targetvalue;
|
|
long minacceptvalue;
|
|
};
|
|
|
|
/* reqvalue structure */
|
|
|
|
struct reqvalue {
|
|
struct rate called;
|
|
struct rate calling;
|
|
};
|
|
|
|
/* throughput structure */
|
|
|
|
struct thrpt {
|
|
struct reqvalue maxthrpt;
|
|
struct reqvalue avgthrpt;
|
|
};
|
|
|
|
/* management structure */
|
|
|
|
struct management {
|
|
short dflt; /* T_YES to use default values or T_NO to use values in structure */
|
|
int ltpdu; /* maximum length of TPDU */
|
|
short reastime; /* reassignment time (in seconds) */
|
|
char prefclass; /* preferred class */
|
|
char altclass; /* alternative class */
|
|
char extform; /* extended format: T_YES or T_NO */
|
|
char flowctrl; /* flow control: T_YES or T_NO */
|
|
char checksum;
|
|
char netexp; /* network expedited data */
|
|
char netrecptcf; /* receipt confirmation */
|
|
};
|
|
|
|
/* ISO connection-oriented options */
|
|
|
|
struct isoco_options {
|
|
struct thrpt throughput;
|
|
struct reqvalue transdel; /* transit delay */
|
|
struct rate reserrorrate; /* residual error rate */
|
|
struct rate transffailprob; /* transfer failure problem */
|
|
struct rate estfailprob; /* connection establishment failure problem */
|
|
struct rate relfailprob; /* connection release failure problem */
|
|
struct rate estdelay; /* connection establishment delay */
|
|
struct rate reldelay; /* connection release delay */
|
|
struct netbuf connresil; /* connection resilience */
|
|
unsigned short protection;
|
|
short priority;
|
|
struct management mngmt; /* management parameters */
|
|
char expd; /* expedited data: T_YES or T_NO */
|
|
};
|
|
|
|
/* ISO connectionless options */
|
|
|
|
struct isocl_options {
|
|
struct rate transdel; /* transit delay */
|
|
struct rate reserrorrate; /* residual error rate */
|
|
unsigned short protection;
|
|
short priority;
|
|
};
|
|
|
|
/*---------------------TCP specific Options--------------------------*/
|
|
|
|
/* TCP Precedence Levels */
|
|
|
|
#define T_ROUTINE 0
|
|
#define T_PRIORITY 1
|
|
#define T_IMMEDIATE 2
|
|
#define T_FLASH 3
|
|
#define T_OVERRIDEFLASH 4
|
|
#define T_CRITIC_ECP 5
|
|
#define T_INETCONTROL 6
|
|
#define T_NETCONTROL 7
|
|
|
|
/* TCP security options structure */
|
|
|
|
struct secoptions {
|
|
short security;
|
|
short compartment;
|
|
short handling; /* handling restrictions */
|
|
long tcc; /* transmission control code */
|
|
};
|
|
|
|
/* TCP options */
|
|
|
|
struct tcp_options {
|
|
short precedence;
|
|
long timeout; /* abort timeout */
|
|
long max_seg_size;
|
|
struct secoptions secopt; /* security options */
|
|
};
|
|
|
|
/*----------------------SPX\IPX specific Options-----------------------*/
|
|
|
|
#include <tispxipx.h>
|
|
|
|
/*---------------------end of Options---------------------------------*/
|
|
|
|
#ifndef NO_PROTOTYPES
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern int API t_accept ( int fd, int resfd, struct t_call FAR * call );
|
|
extern char FAR * API t_alloc ( int fd, int struct_type, int fields );
|
|
extern int API t_bind ( int fd, struct t_bind FAR * req, struct t_bind FAR * ret );
|
|
extern int API t_blocking( int fd );
|
|
extern int API t_close ( int fd );
|
|
extern int API t_connect ( int fd, struct t_call FAR * sndcall, struct t_call FAR * rcvcall );
|
|
extern void API t_error ( char FAR * errmsg );
|
|
extern int API t_event( int fd, int (FAR *func)(), int flag );
|
|
extern int API t_free ( char FAR * ptr, int struct_type );
|
|
extern int API t_getinfo ( int fd, struct t_info FAR * info );
|
|
extern int API t_getstate ( int fd );
|
|
extern int API t_listen ( int fd, struct t_call FAR * call );
|
|
extern int API t_look ( int fd );
|
|
extern int API t_nonblocking( int fd );
|
|
extern int API t_open ( char FAR * path, int oflag, struct t_info FAR * info );
|
|
extern int API t_optmgmt ( int fd, struct t_optmgmt FAR * req, struct t_optmgmt FAR * ret );
|
|
extern int API t_rcv ( int fd, char FAR * buf, unsigned nbytes, int FAR * flags );
|
|
extern int API t_rcvconnect ( int fd, struct t_call FAR * call );
|
|
extern int API t_rcvdis ( int fd, struct t_discon FAR * discon );
|
|
extern int API t_rcvrel ( int fd );
|
|
extern int API t_rcvudata ( int fd, struct t_unitdata FAR * unitdata, int FAR * flags );
|
|
extern int API t_rcvuderr ( int fd, struct t_uderr FAR * uderr );
|
|
extern int API t_snd ( int fd, char FAR * buf, unsigned nbytes, int flags );
|
|
extern int API t_snddis ( int fd, struct t_call FAR * call );
|
|
extern int API t_sndrel ( int fd );
|
|
extern int API t_sndudata ( int fd, struct t_unitdata FAR * unitdata );
|
|
extern int API t_sync( int fd );
|
|
extern int API t_unbind( int fd );
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* ifdef prototypes */
|
|
|
|
|
|
#endif /* ifdef _TIUSER */
|