00001 /* 00002 Copyright (C) 2006 Adam Charrett 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU General Public License 00006 as published by the Free Software Foundation; either version 2 00007 of the License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 00017 00018 udp.h 00019 00020 Simplify UDP socket creation and packet sending. 00021 00022 */ 00023 #ifndef _UDP_H 00024 #define _UDP_H 00025 #include <netinet/in.h> 00026 00036 #define MTU 1400 00037 00041 #define IP_HEADER (5*4) 00042 00046 #define UDP_HEADER (2*4) 00047 00052 #define UDP_PAYLOAD_SIZE (MTU - (IP_HEADER + UDP_HEADER)) 00053 00059 int UDPCreateSocket(sa_family_t family); 00060 00069 #define UDPSendTo(_socketfd, _data, _data_len, _to, _to_len) \ 00070 sendto(_socketfd, _data, _data_len, 0, _to, _to_len) 00071 00080 #define UDPReceiveFrom(_socketfd, _data, _data_len, _from, _from_len) \ 00081 recvfrom(_socketfd, _data, _data_len, 0, _from, _from_len) 00082 00084 #endif