Annotation of XNU/bsd/netat/pap.h, revision 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.