X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/e5568f75972dfc723778653c11cb6b4dc825716a..4452a7af2eac33dbad800bcc91f2399d62c18f53:/bsd/netat/ddp.h diff --git a/bsd/netat/ddp.h b/bsd/netat/ddp.h index ad79d612b..0554ddf0e 100644 --- a/bsd/netat/ddp.h +++ b/bsd/netat/ddp.h @@ -1,23 +1,29 @@ /* * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. + * 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. 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. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * 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 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. * - * @APPLE_LICENSE_HEADER_END@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* * @@ -32,6 +38,8 @@ #define _NETAT_DDP_H_ #include +#ifdef __APPLE_API_OBSOLETE + /* Header and data sizes */ #define DDP_HDR_SIZE 5 /* DDP (short) header size */ @@ -60,9 +68,17 @@ /* DDP extended header packet format */ typedef struct { - unsigned unused:2, - hopcount:4, - length:10; /* Datagram length */ +#if BYTE_ORDER == BIG_ENDIAN + unsigned unused:2, + hopcount:4, /* hop count/len high order */ + length_H:2; +#endif +#if BYTE_ORDER == LITTLE_ENDIAN + unsigned length_H:2, + hopcount:4, + unused:2; +#endif + u_char length_L; /* len low order */ ua_short checksum; /* Checksum */ at_net dst_net; /* Destination network number */ at_net src_net; /* Source network number */ @@ -70,14 +86,17 @@ typedef struct { at_node src_node; /* Source node ID */ at_socket dst_socket; /* Destination socket number */ at_socket src_socket; /* Source socket number */ - u_char type; /* Protocol type */ + u_char type; /* Protocol type */ char data[DDP_DATA_SIZE]; } at_ddp_t; -#define DDPLEN_ASSIGN(ddp, len) ddp->length = len -#define DDPLEN_VALUE(ddp) ddp->length - +#define DDPLEN_ASSIGN(ddp, len) \ + ddp->length_H = 0x03 & (len >> 8); \ + ddp->length_L = len & 0xff; + +#define DDPLEN_VALUE(ddp) \ + (((u_short)ddp->length_H) << 8) + ddp->length_L /* DDP module statistics and configuration */ @@ -102,6 +121,7 @@ typedef struct at_ddp_stats { u_int xmit_dropped_nobuf; } at_ddp_stats_t; + /* DDP streams module ioctls */ #define AT_MID_DDP 203 @@ -124,8 +144,7 @@ typedef struct at_ddp_stats { #define DDP_IOC_SET_PROTO ((AT_MID_DDP<<8) | 13) #endif -#ifdef KERNEL -#ifdef __APPLE_API_PRIVATE +#ifdef KERNEL_PRIVATE #define DDP_MIN_NETWORK 0x0001 #define DDP_MAX_NETWORK 0xfffe @@ -184,6 +203,6 @@ void ddp_bit_reverse(unsigned char *); /* in ddp_lap.c */ int ddp_shutdown(int); -#endif /* __APPLE_API_PRIVATE */ -#endif /* KERNEL */ +#endif /* KERNEL_PRIVATE */ +#endif /* __APPLE_API_OBSOLETE */ #endif /* _NETAT_DDP_H_ */