/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos720 src/bos/kernext/inet/udp_var.h 1.17 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1988,1993 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)58 1.17 src/bos/kernext/inet/udp_var.h, sockinc, bos720 8/29/07 15:13:11 */ /* * COMPONENT_NAME: SYSXINET * * FUNCTIONS: * * ORIGINS: 26,27,85 * * * (C) COPYRIGHT International Business Machines Corp. 1988,1993 * All Rights Reserved * Licensed Materials - Property of IBM * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* * (c) Copyright 1990, 1991, 1992, 1993 OPEN SOFTWARE FOUNDATION, INC. * ALL RIGHTS RESERVED */ /* * OSF/1 1.2 */ /* * Copyright (C) 1988,1989 Encore Computer Corporation. All Rights Reserved * * Property of Encore Computer Corporation. * This software is made available solely pursuant to the terms of * a software license agreement which governs its use. Unauthorized * duplication, distribution or sale are strictly prohibited. * */ /* * Copyright (c) 1982, 1986, 1989 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted provided * that: (1) source distributions retain this entire copyright notice and * comment, and (2) distributions including binaries display the following * acknowledgement: ``This product includes software developed by the * University of California, Berkeley and its contributors'' in the * documentation or other materials provided with the distribution and in * all advertising materials mentioning features or use of this software. * Neither the name of the University nor the names of its contributors may * be used to endorse or promote products derived from this software without * specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * Base: udp_var.h 7.5 (Berkeley) 9/20/89 * Merged: udp_var.h 7.7 (Berkeley) 6/28/90 */ /* * UDP kernel structures and variables. */ struct udpiphdr { struct ipovly ui_i; /* overlaid ip structure */ struct udphdr ui_u; /* udp header */ }; #ifndef __64BIT__ #define ui_next ui_i.ih_next #define ui_prev ui_i.ih_prev #endif /* __64BIT__ */ #define ui_x1 ui_i.ih_x1 #define ui_pr ui_i.ih_pr #define ui_len ui_i.ih_len #define ui_src ui_i.ih_src #define ui_dst ui_i.ih_dst #define ui_sport ui_u.uh_sport #define ui_dport ui_u.uh_dport #define ui_ulen ui_u.uh_ulen #define ui_sum ui_u.uh_sum struct udpstat { /* input statistics: */ long udps_ipackets; /* total input packets */ int udps_hdrops; /* packet shorter than header */ int udps_badsum; /* checksum error */ int udps_badlen; /* data length larger than packet */ int udps_noport; /* no socket on port */ int udps_noportbcast; /* of above, arrived as broadcast */ int udps_fullsock; /* not delivered, input socket full */ int udpps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ long udps_opackets; /* total output packets */ #if defined(_KERNEL) && LOCK_NETSTATS simple_lock_data_t udps_lock; /* statistics lock */ #endif }; /* distributed udp statistics structure */ struct dist_udpstat { /* input statistics: */ int udps_ipackets; /* total input packets */ int udps_hdrops; /* packet shorter than header */ int udps_badsum; /* checksum error */ int udps_badlen; /* data length larger than packet */ int udps_noport; /* no socket on port */ int udps_noportbcast; /* of above, arrived as broadcast */ int udps_fullsock; /* not delivered, input socket full */ int udpps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ int udps_opackets; /* total output packets */ #if defined(_KERNEL) && LOCK_NETSTATS simple_lock_data_t udps_lock; /* statistics lock */ #endif char dummy[((sizeof(struct udpstat) < IP_CACHE_LINE_SIZE) ? IP_CACHE_LINE_SIZE - sizeof(struct udpstat) : IP_CACHE_LINE_SIZE - (sizeof(struct udpstat) % IP_CACHE_LINE_SIZE))]; }; #define UDP_TTL 30 /* default time to live for UDP packets */ #ifdef _KERNEL extern struct inpcb udb; extern struct udpstat udpstat; extern struct dist_udpstat *dist_udpstat[]; #define UDP_EPHEMERAL_LOW_DFLT 32768 #define UDP_EPHEMERAL_HIGH_DFLT 65535 #endif