wrappers-socket.hc (2606B)
1 // $Id$ --*- c -*-- 2 3 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 4 // 5 // This program is free software; you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation; version 2 of the License. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with this program; if not, write to the Free Software 16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18 19 #ifndef H_ENSC_IN_WRAPPERS_H 20 # error wrappers-socket.hc can not be used in this way 21 #endif 22 23 inline static WRAPPER_DECL int 24 Esocket(int domain, int type, int protocol) 25 { 26 register int res = socket(domain, type, protocol); 27 FatalErrnoError(res==-1, "socket()"); 28 return res; 29 } 30 31 inline static WRAPPER_DECL void 32 Econnect(int sockfd, void const *serv_addr, socklen_t addrlen) 33 { 34 FatalErrnoError(connect(sockfd, serv_addr, addrlen)==-1, "connect()"); 35 } 36 37 inline static WRAPPER_DECL void 38 Ebind(int sockfd, void *my_addr, socklen_t addrlen) 39 { 40 FatalErrnoError(bind(sockfd, my_addr, addrlen)==-1, "bind()"); 41 } 42 43 inline static WRAPPER_DECL int 44 Eaccept(int s, void *addr, socklen_t *addrlen) 45 { 46 register int res = accept(s,addr,addrlen); 47 FatalErrnoError(res==-1, "accept()"); 48 return res; 49 } 50 51 inline static WRAPPER_DECL void 52 Elisten(int sock, int backlog) 53 { 54 FatalErrnoError(listen(sock, backlog)==-1, "bind()"); 55 } 56 57 inline static WRAPPER_DECL void 58 Eshutdown(int s, int how) 59 { 60 FatalErrnoError(shutdown(s,how)==-1, "shutdown()"); 61 } 62 63 inline static WRAPPER_DECL ssize_t 64 Erecv(int s, void *buf, size_t len, int flags) 65 { 66 register ssize_t res = recv(s,buf,len,flags); 67 FatalErrnoError(res==-1, "recv()"); 68 return res; 69 } 70 71 inline static WRAPPER_DECL ssize_t 72 Esend(int s, void const *buf, size_t len, int flags) 73 { 74 register ssize_t res = send(s,buf,len,flags); 75 FatalErrnoError(res==-1, "send()"); 76 return res; 77 } 78 79 inline static WRAPPER_DECL int 80 Eselect(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, 81 struct timeval *timeout) 82 { 83 register int res = select(n, readfds,writefds,exceptfds, timeout); 84 FatalErrnoError(res==-1, "select()"); 85 return res; 86 } 87 88 inline static WRAPPER_DECL void 89 Esocketpair(int d, int type, int protocol, int sv[2]) 90 { 91 FatalErrnoError(socketpair(d,type,protocol,sv)==-1, "socketpair()"); 92 }