/*	@(#)maafd.h	20.1	*/

struct tacb {
                char    nom[3]  ;
                char    version  ;
                char    *idsys   ;
                char    *iduser  ;
		unsigned int codret ;  /* code retour */
                short   nummach ;  /* numero de machine */
		short  	cons ; /* nom de la console ex /dev/tty12  = 12*/
		short 	uid ;  /* uid */
		short  	gid ;      /* gid */
		long 	recs ;	   /* taille enregsitrement */
		char 	creatc ;	/* controle creation */
		char 	acct ;		/* type d'acces */
		char 	datac ;		/* type de codage */
		char 	subset ;	/* subset */
		char 	datacomp ;	/* demande de compactage */
		char 	tcc ;		/* code d'arret de transfert */
		char 	file_organ ;	/* file organisation */
		char 	attrib ;	/* attributs demandes */
		long 	restart_rank ;	/* rang de redemmarrage */
		char 	redem ;		/* demande de redemmarrage */
		char 	alloc_size_unit;/* taille des unites de taille */
		short	file_seq_num ;	/* file sequence number */
		long	cur_alloc_size ;/* taille courante du fichier */
		long	inc_alloc_size ; /* increment de taille */
		long 	max_alloc_size ; /* taille max du fichier */
		char	creat_dat_time[12] ;
		char	last_ac_dat_time[12] ;
		char 	last_mo_dat_time[12] ;
		char	exp_dat_time[12] ;
		char	transoldid [20] ; /* old ident de transfert */
		short	lgtransoldid ;
		char 	transid [20] ;	/* ident de transfert */
		short 	lgtransid ;
                 } ;
 typedef struct ACB *ADACB   ;

struct tadrres {
               unsigned short ladrres;
               unsigned char typadr[8];
                };
struct qostype {
                unsigned short lfac;
                unsigned char typfac[10];
               } ;
struct  TABSIT {
             unsigned char stcl   ;
             unsigned char staltcl   ;
             unsigned short stexp  ;
             unsigned short stctrl  ;
             unsigned short stcrdt  ;
             unsigned short stltpdu  ;
             unsigned short stcheck  ;
             unsigned short stlnsdu  ;
             unsigned short stlnpdu   ;
             unsigned char stwi  ;
             unsigned char stwo  ;
             unsigned char stypres  ;
             unsigned char stcnx  ;
             struct tadrres stfrna  ;
             struct tadrres sttona  ;
             struct qostype stqos   ;
           } ;   
typedef struct TABSIT *PTTABSIT  ;





/*----------------------------------*/
/*codes retour de l'ucb utilisateur */
/*----------------------------------*/

/*codes de severite 0 */

#define normal		 0x10000000	 /*pas d' erreurs			   */
#define errdetfich	 0x10000004     /*refus de suppression du distant	   */
#define errcrefich	 0x10000002     /*refus de creation du distant		   */
#define errattfich	 0x10000003     /*refus de demande d'attributs du distant */
#define errtronq	 0x10000001     /*donnees tronquees			   */

/*codes de severite 1 */

#define errlogin	 0x10010009 	/* login local incorrect */
#define errdescout	 0x10010010     /*nombre de descripteurs en sortie incorrect*/
#define errdescin	 0x10010011     /*nombre de descripteurs en entree incorrect*/
#define errctx  	 0x10010012     /*identification de connexion incorrect */
#define errblk		 0x10010013     /*nom de bloc inconnu			   */
#define errinfo		 0x10010014     /*champ info doit etre a zero             */
#define erracb		 0x10010015     /*syntaxe du acb incorrecte     	   */
#define errlgacb	 0x10010016     /*longueur pour acb incorrecte		   */
#define errlgadtran	 0x10010017     /*longueur adressage transport incorrect  */
#define errrecs		 0x10010018     /* taille record invalide */
#define errattrib	 0x10010019	/* attributs incorrect */
#define errlog		 0x1001001a	/* longueur structure identification
					 incorrect */
#define errident	 0x1001001b	/* identification de transfert incorrect */
#define erroldident	 0x1001001c	/* identification ancien ident de 
				         transfert incorrect */
#define errconfail 	 0x1001001d	/* connexion echoue */
#define errnbmaxtran	 0x1001001e	/* trop de transfert en cours */
#define errlgdata	 0x1001001f	/* longueur data deconnexion > 512 */
/*services non geres sur le canal */
#define errservcr	 0x10010020     /*service creation non permis		   */
#define errservsup	 0x10010021     /*service suppression non permis	   */
#define errservatt	 0x10010022     /*service demande d'attributs non permis  */
#define errservred	 0x10010023     /*service redemarrage non permis 	   */

/* erreurs de parametres */
#define errparam	 0x10010030     /*parametre incorrect dans le fcb fourni  */
#define errtyp		 0x10010031     /*type d'acces incorrect */ 
#define errtypfic	 0x10010032     /*type de fichier incorrect */   
#define errnum    	 0x10010033     /*numero de redemmarrage incorrect */
#define errsusp		 0x10010034     /*parametre interruption de transfert incorrect */
#define errfileid	 0x10010035     /*file_id inexistant			   */
#define errlgfileid	 0x10010036     /*longueur file_id > max		   */
#define errcreat	 0x10010037	/* parametre controle creation incorrect */
#define errtrans	 0x10010038     /*erreur lors du transfert */
#define errinterrup	 0x10010039	/* interruption de transfert */
#define errabtran 	 0x1001003a     /*abandon de transfert */
#define errcodinc	 0x1001003b	/* code inconnu */
#define errlginv	 0x1001003c	/* taille ucb + descripteur trop grand*/
#define errfilseq	 0x1001003d	/* file seq number incorrect */
#define errcomp 	 0x0100103e	/* parametre compactage incorrect */
/* erreur d'etat */
#define erretat   	  0x10010040     /*requete incompatible avec l'etat	   */

/*codes d'abandon */
#define errprot    	 0x10010050     /*erreur protocole  */
#define errab		 0x10010051     /*abandon en cours   */

/*codes de severite 2 */

#define errmad		 0x10020060     /*ouverture avec driver mad impossible */
#define erripc		 0x10020061	/* creation ipc impossible */
#define errficlog	 0x10020062	/* probleme a l'ouverture du fichier log */
#define erractiser	 0x10020063	/* erreur lors de l'activation de service*/
#define errnmaxctx	 0x10020064	/* trop de connexion en cours */
#define errfils		 0x10020065	/* probleme lors de la creation d'un 
					 fils (voir votre ingenieur systeme)*/
/*------------------------------------------*/
/*codes utilises pour le code retour du acb */
/*------------------------------------------*/		
                         

/*-------------------------------------------*/
/*codes normalises pour le code retour du acb */
/*---------------------------------------------*/
#define erfcbnoraison		  0x06010000
#define erfcbmispar1   		  0x06010001
#define erfcbinvpar1		  0x06010002
#define erfcbincpar1		  0x06010003
#define erfcbduppar1		  0x06010004
#define erfcbunkpar1		  0x06010005
#define erfcbseqpar1		  0x06010006
#define erfcbsuppar1		  0x06010007
#define erfcbaccperm		  0x06010008
#define erfcbnofile		  0x06010009
#define erfcbfilebusy		  0x0601000a
#define erfcbnodevice		  0x0601000b
#define erfcbsyntax		  0x0601000c
#define erfcbioerror		  0x0601000d
#define erfcbsystem		  0x0601000e
#define erfcbunschar		  0x0601000f
#define erfcbnomemory		  0x06010010
#define erfcbnego		  0x06010011
#define erfcbcantopen		  0x06010012
#define erfcbcomp		  0x06010013
#define erfcbinvchar		  0x06010014
#define erfcbabort		  0x06010015
#define erfcbnoack		  0x06010016
#define erfcbtranserr		  0x06010017
#define erfcbspace		  0x06010018
#define erfcbrecordsize		  0x06010019
#define erfcbnumrec		  0x0601001a
#define erfcbkey		  0x0601001b
#define erfcbdupkey		  0x0601001c
#define erfcbclose		  0x0601001d
#define erfcbwexist		  0x0601001e
#define erfcbexist		  0x0601001f
#define erfcbunsspace		  0x06010020
#define erfcbunswchar		  0x06010021
#define erfcbwfileinex		  0x06010022 
#define erfcbshutdown             0x06010050    /*immediate shutdown			*/ 
#define erfcbunsupmes             0x06010051    /*unsupported_message			*/
#define erfcbmessseq              0x06010052    /*message out of sequence			*/
#define erfcbmescont              0x06010053    /*illegal message contents		*/
#define erfcbillegjet             0x06010054    /*illegal data token usage		*/
#define erfcbmesssess             0x06010055    /*unsupported session usage		*/




#define OPEN  177 
#define CLOS  178 
#define TRAN  179
#define INTR  180 
#define CREA  181 
#define DETR  182 
#define INFO  183 
#define IDENT 184 
#define ABRT  185 


 struct tident       {
			char filler[18] ;
			char entete[6] ;
			char billing [12] ; 
			char login[12] ; 
			char project [12] ;
			char password [12] ;
			} ;


