00001 /* 00002 * $Id: mi_datagram.h 1133 2007-04-02 17:31:13Z ancuta_onofrei $ 00003 * 00004 * Copyright (C) 2007 Voice Sistem SRL 00005 * 00006 * This file is part of Kamailio, a free SIP server. 00007 * 00008 * Kamailio is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * Kamailio is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, write to the Free Software 00020 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 * 00022 * 00023 * History: 00024 * --------- 00025 * 2007-06-25 first version (ancuta) 00026 */ 00027 00028 /*! 00029 * \file 00030 * \brief MI_DATAGRAM :: Common declarations 00031 * \ingroup mi 00032 */ 00033 00034 00035 #ifndef _MI_DATAGRAM_H_ 00036 #define _MI_DATAGRAM_H_ 00037 00038 #include <sys/socket.h> 00039 #include <sys/un.h> 00040 #include "../../ip_addr.h" 00041 00042 #define DEFAULT_MI_REPLY_IDENT "\t" 00043 #define MI_CMD_SEPARATOR ':' 00044 00045 #define MI_ATTR_VAL_SEP1 ':' /*!< the 2-chars separator between name and value */ 00046 #define MI_ATTR_VAL_SEP2 ':' /*!< the 2-chars separator between name and value */ 00047 00048 #define MAX_MI_FILENAME 128 /*!< maximum size for the socket reply name */ 00049 #define MI_CHILD_NO 1 /*!< size of buffer used by parser to read and build the MI tree */ 00050 00051 00052 /*! \brief union because we support 3 types of sockaddr : UNIX, IPv4 and IPv6*/ 00053 typedef union{ 00054 union sockaddr_union udp_addr; 00055 struct sockaddr_un unix_addr; 00056 } sockaddr_dtgram; 00057 00058 typedef union{ 00059 struct sockaddr_un unix_deb; 00060 struct sockaddr_in inet_v4; 00061 struct sockaddr_in6 inet_v6; 00062 } my_sock_address; 00063 00064 typedef struct{ 00065 my_sock_address address; 00066 unsigned int domain; 00067 int address_len; 00068 } my_socket_address; 00069 00070 00071 #endif /* _MI_DATAGRAM */ 00072 00073
1.5.6