]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netat/atp.h
xnu-1228.15.4.tar.gz
[apple/xnu.git] / bsd / netat / atp.h
index 5e1b33ba0428a9cb62d8a32f0b50ab13c6c478be..dda3669a9b3d0dc7eeaf963437fcf58424a429ac 100644 (file)
@@ -1,16 +1,19 @@
 /*
  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ * 
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -20,7 +23,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  *
@@ -51,6 +54,8 @@
 #define _NETAT_ATP_H_
 #include <sys/appleapiopts.h>
 
+#ifdef __APPLE_API_OBSOLETE
+
 /* ATP function codes */
 
 #define ATP_CMD_TREQ           0x01    /* TRequest packet  */
 #define        ATP_XO_8MIN             4
 
 typedef struct {
+#if BYTE_ORDER == BIG_ENDIAN
         unsigned       cmd : 2,
                        xo : 1,
                        eom : 1,
                        sts : 1,
                        xo_relt : 3;
+#endif
+#if BYTE_ORDER == LITTLE_ENDIAN
+               unsigned                xo_relt : 3,
+                                               sts : 1,
+                                               eom : 1,
+                                               xo : 1,
+                                               cmd : 2;
+#endif
         u_char         bitmap;
-       ua_short       tid;
+               ua_short       tid;
         ua_long        user_bytes;
         u_char         data[ATP_DATA_SIZE];
 } at_atp_t;
@@ -187,8 +201,7 @@ typedef struct {
 #define ATP_SENDRESPONSE 2
 #define ATP_GETREQUEST   3
 
-#ifdef KERNEL
-#ifdef __APPLE_API_PRIVATE
+#ifdef KERNEL_PRIVATE
 
 
 /*
@@ -292,6 +305,9 @@ struct atp_socket {
  *     transaction control block (local context at requester end)
  */
 
+struct atp_trans;
+typedef void (*atp_tmo_func)(struct atp_trans *);
+
 struct atp_trans {
        struct atp_trans_q      tr_list;                /* trans list */
        struct atp_state        *tr_queue;              /* state data structure */
@@ -313,7 +329,7 @@ struct atp_trans {
        at_net                  tr_local_net;
        gbuf_t                  *tr_bdsp;               /* bds structure pointer */
        unsigned int            tr_tmo_delta;
-       void                            (*tr_tmo_func)();
+       atp_tmo_func            tr_tmo_func;
        struct atp_trans        *tr_tmo_next;
        struct atp_trans        *tr_tmo_prev;
        atlock_t tr_lock;
@@ -421,14 +437,13 @@ extern struct atp_rcb* atp_rcb_data;
 extern struct atp_state* atp_state_data;
 extern struct atp_trans_qhead atp_trans_abort;         /* aborting trans list */
 
-extern void atp_req_timeout();
-extern void atp_rcb_timer();
-extern void atp_x_done();
-extern struct atp_rcb *atp_rcb_alloc();
-extern struct atp_trans *atp_trans_alloc();
 #endif /* ATP_DECLARE */
 
 /* prototypes */
+void atp_rcb_timer(struct atp_trans *);
+struct atp_rcb *atp_rcb_alloc(struct  atp_state *);
+struct atp_trans *atp_trans_alloc(struct  atp_state *);
+
 void atp_send_req(gref_t *, gbuf_t *);
 void atp_drop_req(gref_t *, gbuf_t *);
 void atp_send_rsp(gref_t *, gbuf_t *, int);
@@ -451,14 +466,19 @@ void atp_reply(struct atp_rcb *);
 void atp_rcb_free(struct atp_rcb *);
 void atp_send_replies(struct atp_state *, struct atp_rcb *);
 void atp_dequeue_atp(struct atp_state *);
-int atp_iocack(struct atp_state *, gbuf_t *);
+void atp_iocack(struct atp_state *, gbuf_t *);
 void atp_req_ind(struct atp_state *, gbuf_t *);
-int atp_iocnak(struct atp_state *, gbuf_t *, int);
+void atp_iocnak(struct atp_state *, gbuf_t *, int);
 void atp_trp_timer(void *, int);
-void atp_timout(void (*func)(), struct atp_trans *, int);
-void atp_untimout(void (*func)(), struct atp_trans *);
+void atp_timout(atp_tmo_func, struct atp_trans *, int);
+void atp_untimout(atp_tmo_func, struct atp_trans *);
 int atp_tid(struct atp_state *);
-
-#endif /* __APPLE_API_PRIVATE */
-#endif /* KERNEL */
+void atp_init(void);
+void atp_link(void);
+void atp_unlink(void);
+int atp_input(gbuf_t *);
+void atp_delete_free_clusters(void *);
+
+#endif /* KERNEL_PRIVATE */
+#endif /* __APPLE_API_OBSOLETE */
 #endif /* _NETAT_ATP_H_ */