Annotation of XNU/bsd/netat/pap.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:  *
                     24:  * ORIGINS: 82
                     25:  *
                     26:  * (C) COPYRIGHT Apple Computer, Inc. 1992-1996
                     27:  * All Rights Reserved
                     28:  *
                     29:  */                                                                   
                     30: 
                     31: /* Definitions for ATP protocol and streams module, per 
                     32:  * AppleTalk Transaction Protocol documentation from
                     33:  * `Inside AppleTalk', July 14, 1986.
                     34:  */
                     35: 
                     36: #ifndef _NETAT_PAP_H_
                     37: #define _NETAT_PAP_H_
                     38: 
                     39: #define  AT_PAP_DATA_SIZE            512    /* Maximum PAP data size */
                     40: #define  AT_PAP_STATUS_SIZE          255    /* Maximum PAP status length */
                     41: #define  PAP_TIMEOUT                 120
                     42: 
                     43: /* PAP packet types */
                     44: 
                     45: #define  AT_PAP_TYPE_OPEN_CONN        0x01   /* Open-Connection packet */
                     46: #define  AT_PAP_TYPE_OPEN_CONN_REPLY  0x02   /* Open-Connection-Reply packet */
                     47: #define  AT_PAP_TYPE_SEND_DATA        0x03   /* Send-Data packet */
                     48: #define  AT_PAP_TYPE_DATA             0x04   /* Data packet */
                     49: #define  AT_PAP_TYPE_TICKLE           0x05   /* Tickle packet */
                     50: #define  AT_PAP_TYPE_CLOSE_CONN       0x06   /* Close-Connection packet */
                     51: #define  AT_PAP_TYPE_CLOSE_CONN_REPLY 0x07   /* Close-Connection-Reply pkt */
                     52: #define  AT_PAP_TYPE_SEND_STATUS      0x08   /* Send-Status packet */
                     53: #define  AT_PAP_TYPE_SEND_STS_REPLY   0x09   /* Send-Status-Reply packet */
                     54: #define  AT_PAP_TYPE_READ_LW         0x0A   /* Read LaserWriter Message */
                     55: 
                     56: 
                     57: /* PAP packet structure */
                     58: 
                     59: typedef struct {
                     60:         u_char     at_pap_connection_id;
                     61:         u_char    at_pap_type;
                     62:         u_char     at_pap_sequence_number[2];
                     63:         u_char    at_pap_responding_socket;
                     64:         u_char     at_pap_flow_quantum;
                     65:         u_char     at_pap_wait_time_or_result[2];
                     66:         u_char     at_pap_buffer[AT_PAP_DATA_SIZE];
                     67: } at_pap;
                     68: 
                     69: 
                     70: /* ioctl definitions */
                     71: 
                     72: #define        AT_PAP_SETHDR           (('~'<<8)|0)
                     73: #define        AT_PAP_READ             (('~'<<8)|1)
                     74: #define        AT_PAP_WRITE            (('~'<<8)|2)
                     75: #define        AT_PAP_WRITE_EOF        (('~'<<8)|3)
                     76: #define        AT_PAP_WRITE_FLUSH      (('~'<<8)|4)
                     77: #define        AT_PAP_READ_IGNORE      (('~'<<8)|5)
                     78: #define        AT_PAPD_SET_STATUS      (('~'<<8)|40)
                     79: #define        AT_PAPD_GET_NEXT_JOB    (('~'<<8)|41)
                     80: 
                     81: extern char    at_pap_status[];
                     82: extern  char   *pap_status ();
                     83: 
                     84: #define        NPAPSERVERS     10      /* the number of active PAP servers/node */
                     85: #define        NPAPSESSIONS    40      /* the number of active PAP sockets/node */
                     86: 
                     87: #define AT_PAP_HDR_SIZE        (DDP_X_HDR_SIZE + ATP_HDR_SIZE)
                     88: 
                     89: #define         ATP_DDP_HDR(c) ((at_ddp_t *)(c))
                     90: 
                     91: #define PAP_SOCKERR    "Unable to open PAP socket"
                     92: #define P_NOEXIST      "Printer not found"
                     93: #define P_UNREACH      "Unable to establish PAP session"
                     94: 
                     95: struct pap_state {
                     96:        u_char pap_inuse;       /* true if this one is allocated */
                     97:        u_char pap_tickle;      /* true if we are tickling the other end */
                     98:        u_char pap_request;     /* bitmap from a received request */
                     99:        u_char pap_eof;         /* true if we have received an EOF */
                    100:        u_char pap_eof_sent;    /* true if we have sent an EOF */
                    101:        u_char pap_sent;        /* true if we have sent anything (and
                    102:                                   therefore may have to send an eof
                    103:                                   on close) */
                    104:        u_char pap_error;       /* error message from read request */
                    105:        u_char pap_timer;       /* a timeout is pending */
                    106:        u_char pap_closing;     /* the link is closing and/or closed */
                    107:        u_char pap_request_count; /* number of outstanding requests */
                    108:        u_char pap_req_timer;   /* the request timer is running */
                    109:        u_char pap_ending;      /* we are waiting for atp to flush */
                    110:        u_char pap_read_ignore; /* we are in 'read with ignore' mode */
                    111: 
                    112:        u_char pap_req_socket;
                    113:        at_inet_t pap_to;
                    114:        int pap_flow;
                    115: 
                    116:        u_short pap_send_count; /* the sequence number to send on the
                    117:                                   next send data request */
                    118:        u_short pap_rcv_count;  /* the sequence number expected to
                    119:                                   receive on the next request */
                    120:        u_short pap_tid;        /* ATP transaction ID for responses */
                    121:        u_char  pap_connID;     /* our connection ID */
                    122: 
                    123:        int pap_ignore_id;      /* the transaction ID for read ignore */
                    124:        int pap_tickle_id;      /* the transaction ID for tickles */
                    125: };
                    126: 
                    127: #endif /* _NETAT_PAP_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.