pidgin/pidgin
Clone
Summary
Browse
Changes
Graph
merge of '77693555855fe9cd3215414f79964dba346cc5fa'
gaim
2008-11-12, Richard Laager
1966704b3e42
merge of '77693555855fe9cd3215414f79964dba346cc5fa'
and '19a87e98e5857ad0289f2c760d460f7f1dbbb42d'
/*
* gaim
*
* File: libc_interface.h
*
* Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef _LIBC_INTERFACE_H_
#define _LIBC_INTERFACE_H_
#include
<winsock2.h>
#include
<ws2tcpip.h>
#include
<io.h>
#include
<errno.h>
#include
"libc_internal.h"
#include
<glib.h>
/* sys/socket.h */
int
wgaim_socket
(
int
namespace
,
int
style
,
int
protocol
);
#define socket( namespace, style, protocol ) \
wgaim_socket( namespace, style, protocol )
int
wgaim_connect
(
int
socket
,
struct
sockaddr
*
addr
,
u_long
length
);
#define connect( socket, addr, length ) \
wgaim_connect( socket, addr, length )
int
wgaim_getsockopt
(
int
socket
,
int
level
,
int
optname
,
void
*
optval
,
socklen_t
*
optlenptr
);
#define getsockopt( args... ) \
wgaim_getsockopt( args )
int
wgaim_setsockopt
(
int
socket
,
int
level
,
int
optname
,
const
void
*
optval
,
socklen_t
optlen
);
#define setsockopt( args... ) \
wgaim_setsockopt( args )
int
wgaim_getsockname
(
int
socket
,
struct
sockaddr
*
addr
,
socklen_t
*
lenptr
);
#define getsockname( socket, addr, lenptr ) \
wgaim_getsockname( socket, addr, lenptr )
int
wgaim_bind
(
int
socket
,
struct
sockaddr
*
addr
,
socklen_t
length
);
#define bind( socket, addr, length ) \
wgaim_bind( socket, addr, length )
int
wgaim_listen
(
int
socket
,
unsigned
int
n
);
#define listen( socket, n ) \
wgaim_listen( socket, n )
int
wgaim_sendto
(
int
socket
,
const
void
*
buf
,
size_t
len
,
int
flags
,
const
struct
sockaddr
*
to
,
socklen_t
tolen
);
#define sendto(socket, buf, len, flags, to, tolen) \
wgaim_sendto(socket, buf, len, flags, to, tolen)
/* sys/ioctl.h */
int
wgaim_ioctl
(
int
fd
,
int
command
,
void
*
opt
);
#define ioctl( fd, command, val ) \
wgaim_ioctl( fd, command, val )
/* fcntl.h */
int
wgaim_fcntl
(
int
socket
,
int
command
,
int
val
);
#define fcntl( fd, command, val ) \
wgaim_fcntl( fd, command, val )
/* arpa/inet.h */
int
wgaim_inet_aton
(
const
char
*
name
,
struct
in_addr
*
addr
);
#define inet_aton( name, addr ) \
wgaim_inet_aton( name, addr )
const
char
*
wgaim_inet_ntop
(
int
af
,
const
void
*
src
,
char
*
dst
,
socklen_t
cnt
);
#define inet_ntop( af, src, dst, cnt ) \
wgaim_inet_ntop( af, src, dst, cnt )
/* netdb.h */
struct
hostent
*
wgaim_gethostbyname
(
const
char
*
name
);
#define gethostbyname( name ) \
wgaim_gethostbyname( name )
/* netinet/in.h */
#define ntohl( netlong ) \
(unsigned int)ntohl( netlong )
/* string.h */
char
*
wgaim_strerror
(
int
errornum
);
#define hstrerror( herror ) \
wgaim_strerror( errno )
#define strerror( errornum ) \
wgaim_strerror( errornum )
#define bzero( dest, size ) memset( dest, 0, size )
/* unistd.h */
int
wgaim_read
(
int
fd
,
void
*
buf
,
unsigned
int
size
);
#define read( fd, buf, buflen ) \
wgaim_read( fd, buf, buflen )
int
wgaim_write
(
int
fd
,
const
void
*
buf
,
unsigned
int
size
);
#define write( socket, buf, buflen ) \
wgaim_write( socket, buf, buflen )
int
wgaim_recv
(
int
fd
,
void
*
buf
,
size_t
len
,
int
flags
);
#define recv(fd, buf, len, flags) \
wgaim_recv(fd, buf, len, flags)
int
wgaim_send
(
int
fd
,
const
void
*
buf
,
unsigned
int
size
,
int
flags
);
#define send(socket, buf, buflen, flags) \
wgaim_send(socket, buf, buflen, flags)
int
wgaim_close
(
int
fd
);
#define close( fd ) \
wgaim_close( fd )
#if !GLIB_CHECK_VERSION(2,8,0)
int
wgaim_g_access
(
const
gchar
*
filename
,
int
mode
);
#define g_access( filename, mode) \
wgaim_g_access( filename, mode )
#endif
#ifndef sleep
#define sleep(x) Sleep((x)*1000)
#endif
int
wgaim_gethostname
(
char
*
name
,
size_t
size
);
#define gethostname( name, size ) \
wgaim_gethostname( name, size )
/* sys/time.h */
int
wgaim_gettimeofday
(
struct
timeval
*
p
,
struct
timezone
*
z
);
#define gettimeofday( timeval, timezone ) \
wgaim_gettimeofday( timeval, timezone )
/* stdio.h */
#define snprintf _snprintf
#define vsnprintf _vsnprintf
int
wgaim_rename
(
const
char
*
oldname
,
const
char
*
newname
);
#define rename( oldname, newname ) \
wgaim_rename( oldname, newname )
#if GLIB_CHECK_VERSION(2,6,0)
#ifdef g_rename
# undef g_rename
#endif
/* This is necessary because we want rename on win32 to be able to overwrite an existing file, it is done in internal.h if GLib < 2.6*/
#define g_rename(oldname, newname) \
wgaim_rename(oldname, newname)
#endif
/* sys/stat.h */
#define fchmod(a,b)
/* time.h */
struct
tm
*
wgaim_localtime_r
(
const
time_t
*
time
,
struct
tm
*
resultp
);
#define localtime_r( time, resultp ) \
wgaim_localtime_r( time, resultp )
/* helper for gaim_utf8_strftime() by way of gaim_internal_strftime() in src/util.c */
const
char
*
wgaim_get_timezone_abbreviation
(
const
struct
tm
*
tm
);
#endif
/* _LIBC_INTERFACE_H_ */