D-Bus 1.4.6

dbus-sockets-win.h

00001 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
00002 /* dbus-sockets.h Wrappers around socket features (internal to D-BUS implementation)
00003  * 
00004  * Copyright (C) 2005 Novell, Inc.
00005  *
00006  * Licensed under the Academic Free License version 2.1
00007  * 
00008  * This program 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  * This program 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021  *
00022  */
00023 
00024 #ifndef DBUS_SOCKETS_H
00025 #define DBUS_SOCKETS_H
00026 
00027 #if defined(DBUS_WIN) || defined(DBUS_WINCE)
00028 
00029 
00030 
00031 #ifndef STRICT
00032 #define STRICT
00033 #include <winsock2.h>
00034 #undef STRICT
00035 #endif
00036 #include <winsock2.h>
00037 
00038 #undef interface
00039 
00040 #if HAVE_ERRNO_H
00041 #include <errno.h>
00042 #endif
00043 
00044 #define DBUS_SOCKET_IS_INVALID(s) ((SOCKET)(s) == INVALID_SOCKET)
00045 #define DBUS_SOCKET_API_RETURNS_ERROR(n) ((n) == SOCKET_ERROR)
00046 #define DBUS_SOCKET_SET_ERRNO() (_dbus_win_set_errno (WSAGetLastError()))
00047 
00048 #define DBUS_CLOSE_SOCKET(s) closesocket(s)
00049 
00050 #else
00051 
00052 #include <sys/socket.h>
00053 #include <sys/un.h>
00054 #include <netinet/in.h>
00055 #include <netdb.h>
00056 #include <errno.h>
00057 
00058 #define DBUS_SOCKET_IS_INVALID(s) ((s) < 0)
00059 #define DBUS_SOCKET_API_RETURNS_ERROR(n) ((n) < 0)
00060 #define DBUS_SOCKET_SET_ERRNO() /* empty */
00061 
00062 #define DBUS_CLOSE_SOCKET(s) close(s)
00063 
00064 #endif /* !Win32 */
00065 
00066 #endif /* DBUS_SOCKETS_H */