version 1.1.2.5, 2001/08/20 14:53:00
|
version 1.3, 2002/03/07 21:15:57
|
|
|
#include "Socket.h" | #include "Socket.h" |
| |
#ifdef PEGASUS_OS_TYPE_WINDOWS | #ifdef PEGASUS_OS_TYPE_WINDOWS |
# include <winsock.h> |
# include <windows.h> |
#else | #else |
# include <cctype> | # include <cctype> |
# include <unistd.h> | # include <unistd.h> |
|
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
extern Uint32 _socketInterfaceRefCount = 0; |
static Uint32 _socketInterfaceRefCount = 0; |
| |
Sint32 Socket::read(Sint32 socket, void* ptr, Uint32 size) | Sint32 Socket::read(Sint32 socket, void* ptr, Uint32 size) |
{ | { |
#ifdef PEGASUS_OS_TYPE_WINDOWS | #ifdef PEGASUS_OS_TYPE_WINDOWS |
return ::recv(socket, (char*)ptr, size, 0); | return ::recv(socket, (char*)ptr, size, 0); |
|
#elif defined(PEGASUS_OS_ZOS) |
|
int i=::read(socket, (char*)ptr, size); |
|
__atoe_l((char *)ptr,size); |
|
return i; |
#else | #else |
return ::read(socket, (char*)ptr, size); | return ::read(socket, (char*)ptr, size); |
#endif | #endif |
|
|
{ | { |
#ifdef PEGASUS_OS_TYPE_WINDOWS | #ifdef PEGASUS_OS_TYPE_WINDOWS |
return ::send(socket, (const char*)ptr, size, 0); | return ::send(socket, (const char*)ptr, size, 0); |
|
#elif defined(PEGASUS_OS_ZOS) |
|
char * ptr2 = (char *)malloc(size); |
|
int i; |
|
memcpy(ptr2,ptr,size); |
|
__etoa_l(ptr2,size); |
|
i = ::write(socket, ptr2, size); |
|
free(ptr2); |
|
return i; |
#else | #else |
return ::write(socket, (char*)ptr, size); | return ::write(socket, (char*)ptr, size); |
#endif | #endif |