Main Page | Class List | Directories | File List | Class Members | File Members

fdlib.h File Reference

#include "global.h"
#include "pike_macros.h"
#include "pike_netlib.h"

Go to the source code of this file.

Classes

struct  my_fd_set_s

Defines

#define fd_INTERPROCESSABLE   1
#define fd_CAN_NONBLOCK   2
#define fd_CAN_SHUTDOWN   4
#define fd_BUFFERED   8
#define fd_BIDIRECTIONAL   16
#define fd_REVERSE   32
#define fd_info(X)   ""
#define fd_init()
#define fd_exit()
#define fd_RDONLY   O_RDONLY
#define fd_WRONLY   O_WRONLY
#define fd_RDWR   O_RDWR
#define fd_APPEND   O_APPEND
#define fd_CREAT   O_CREAT
#define fd_TRUNC   O_TRUNC
#define fd_EXCL   O_EXCL
#define fd_BINARY   0
#define fd_LARGEFILE   0
#define fd_query_properties(X, Y)   ( fd_INTERPROCESSABLE | (Y))
#define fd_stat(F, BUF)   stat(F,BUF)
#define fd_lstat(F, BUF)   lstat(F,BUF)
#define fd_open(X, Y, Z)   dmalloc_register_fd(open((X),(Y),(Z)))
#define fd_socket(X, Y, Z)   dmalloc_register_fd(socket((X),(Y),(Z)))
#define fd_pipe   pipe
#define fd_accept(X, Y, Z)   dmalloc_register_fd(accept((X),(Y),(Z)))
#define fd_bind(fd, X, Y)   bind(dmalloc_touch_fd(fd), (X), (Y))
#define fd_getsockopt(fd, X, Y, Z, Q)   getsockopt(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q))
#define fd_setsockopt(fd, X, Y, Z, Q)   setsockopt(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q))
#define fd_recv(fd, X, Y, Z)   recv(dmalloc_touch_fd(fd), (X), (Y),(Z))
#define fd_getsockname(fd, X, Y)   getsockname(dmalloc_touch_fd(fd), (X), (Y))
#define fd_getpeername(fd, X, Y)   getpeername(dmalloc_touch_fd(fd), (X), (Y))
#define fd_recvfrom(fd, X, Y, Z, Q, P)   recvfrom(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q),(P))
#define fd_send(fd, X, Y, Z)   send(dmalloc_touch_fd(fd), (X), (Y),(Z))
#define fd_sendto(fd, X, Y, Z, Q, P)   sendto(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q),(P))
#define fd_shutdown(fd, X)   shutdown(dmalloc_touch_fd(fd), (X))
#define fd_listen(fd, X)   listen(dmalloc_touch_fd(fd), (X))
#define fd_close(fd)   close(dmalloc_close_fd(fd))
#define fd_write(fd, X, Y)   write(dmalloc_touch_fd(fd),(X),(Y))
#define fd_read(fd, X, Y)   read(dmalloc_touch_fd(fd),(X),(Y))
#define fd_lseek(fd, X, Y)   lseek(dmalloc_touch_fd(fd),(X),(Y))
#define fd_ftruncate(fd, X)   ftruncate(dmalloc_touch_fd(fd),(X))
#define fd_fstat(fd, X)   fstat(dmalloc_touch_fd(fd),(X))
#define fd_select   select
#define fd_ioctl(fd, X, Y)   ioctl(dmalloc_touch_fd(fd),(X),(Y))
#define fd_dup(fd)   dmalloc_register_fd(dup(dmalloc_touch_fd(fd)))
#define fd_connect(fd, X, Z)   connect(dmalloc_touch_fd(fd),(X),(Z))
#define fd_dup2(fd, to)   dmalloc_register_fd(dup2(dmalloc_touch_fd(fd),dmalloc_close_fd(to)))
#define fd_socketpair   socketpair
#define fd_fd_set   fd_set
#define fd_FD_CLR   FD_CLR
#define fd_FD_SET   FD_SET
#define fd_FD_ISSET   FD_ISSET
#define fd_FD_ZERO   FD_ZERO
#define fd_shutdown_read   0
#define fd_shutdown_write   1
#define fd_shutdown_both   2
#define my_FD_CLR(FD, S)   FD_CLR((FD), & (S)->tmp)
#define my_FD_SET(FD, S)   FD_SET((FD), & (S)->tmp)
#define my_FD_ISSET(FD, S)   FD_ISSET((FD), & (S)->tmp)
#define my_FD_ZERO(S)   FD_ZERO(& (S)->tmp)
#define fd_copy_my_fd_set_to_fd_set(TO, FROM, max)   MEMCPY((TO),&(FROM)->tmp,sizeof(*(TO)))
#define FILE_CAPABILITIES   (fd_INTERPROCESSABLE | fd_CAN_NONBLOCK)
#define PIPE_CAPABILITIES   (fd_INTERPROCESSABLE | fd_BUFFERED | fd_CAN_NONBLOCK)
#define UNIX_SOCKET_CAPABILITIES   (fd_INTERPROCESSABLE | fd_BIDIRECTIONAL | fd_CAN_NONBLOCK)
#define SOCKET_CAPABILITIES   (fd_INTERPROCESSABLE | fd_BIDIRECTIONAL | fd_CAN_NONBLOCK | fd_CAN_SHUTDOWN)
#define SEEK_SET   0
#define SEEK_CUR   1
#define SEEK_END   2
#define S_ISREG(mode)   (((mode) & (_S_IFMT)) == (_S_IFREG))

Typedefs

typedef int FD
typedef stat PIKE_STAT_T
typedef off_t PIKE_OFF_T
typedef my_fd_set_s my_fd_set

Functions

PMOD_PROTO int pike_make_pipe (int *fds)
PMOD_PROTO int fd_from_object (struct object *o)
PMOD_PROTO void create_proxy_pipe (struct object *o, int for_reading)
PMOD_PROTO struct objectfile_make_object_from_fd (int fd, int mode, int guess)


Define Documentation

#define fd_accept X,
Y,
 )     dmalloc_register_fd(accept((X),(Y),(Z)))
 

#define fd_APPEND   O_APPEND
 

#define fd_BIDIRECTIONAL   16
 

#define fd_BINARY   0
 

#define fd_bind fd,
X,
 )     bind(dmalloc_touch_fd(fd), (X), (Y))
 

#define fd_BUFFERED   8
 

#define fd_CAN_NONBLOCK   2
 

#define fd_CAN_SHUTDOWN   4
 

#define fd_close fd   )     close(dmalloc_close_fd(fd))
 

#define fd_connect fd,
X,
 )     connect(dmalloc_touch_fd(fd),(X),(Z))
 

#define fd_copy_my_fd_set_to_fd_set TO,
FROM,
max   )     MEMCPY((TO),&(FROM)->tmp,sizeof(*(TO)))
 

#define fd_CREAT   O_CREAT
 

#define fd_dup fd   )     dmalloc_register_fd(dup(dmalloc_touch_fd(fd)))
 

#define fd_dup2 fd,
to   )     dmalloc_register_fd(dup2(dmalloc_touch_fd(fd),dmalloc_close_fd(to)))
 

#define fd_EXCL   O_EXCL
 

 
#define fd_exit  ) 
 

#define fd_FD_CLR   FD_CLR
 

#define fd_FD_ISSET   FD_ISSET
 

#define fd_FD_SET   FD_SET
 

#define fd_fd_set   fd_set
 

#define fd_FD_ZERO   FD_ZERO
 

#define fd_fstat fd,
 )     fstat(dmalloc_touch_fd(fd),(X))
 

#define fd_ftruncate fd,
 )     ftruncate(dmalloc_touch_fd(fd),(X))
 

#define fd_getpeername fd,
X,
 )     getpeername(dmalloc_touch_fd(fd), (X), (Y))
 

#define fd_getsockname fd,
X,
 )     getsockname(dmalloc_touch_fd(fd), (X), (Y))
 

#define fd_getsockopt fd,
X,
Y,
Z,
 )     getsockopt(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q))
 

#define fd_info  )     ""
 

 
#define fd_init  ) 
 

#define fd_INTERPROCESSABLE   1
 

#define fd_ioctl fd,
X,
 )     ioctl(dmalloc_touch_fd(fd),(X),(Y))
 

#define fd_LARGEFILE   0
 

#define fd_listen fd,
 )     listen(dmalloc_touch_fd(fd), (X))
 

#define fd_lseek fd,
X,
 )     lseek(dmalloc_touch_fd(fd),(X),(Y))
 

#define fd_lstat F,
BUF   )     lstat(F,BUF)
 

#define fd_open X,
Y,
 )     dmalloc_register_fd(open((X),(Y),(Z)))
 

#define fd_pipe   pipe
 

#define fd_query_properties X,
 )     ( fd_INTERPROCESSABLE | (Y))
 

#define fd_RDONLY   O_RDONLY
 

#define fd_RDWR   O_RDWR
 

#define fd_read fd,
X,
 )     read(dmalloc_touch_fd(fd),(X),(Y))
 

#define fd_recv fd,
X,
Y,
 )     recv(dmalloc_touch_fd(fd), (X), (Y),(Z))
 

#define fd_recvfrom fd,
X,
Y,
Z,
Q,
 )     recvfrom(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q),(P))
 

#define fd_REVERSE   32
 

#define fd_select   select
 

#define fd_send fd,
X,
Y,
 )     send(dmalloc_touch_fd(fd), (X), (Y),(Z))
 

#define fd_sendto fd,
X,
Y,
Z,
Q,
 )     sendto(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q),(P))
 

#define fd_setsockopt fd,
X,
Y,
Z,
 )     setsockopt(dmalloc_touch_fd(fd), (X),(Y),(Z),(Q))
 

#define fd_shutdown fd,
 )     shutdown(dmalloc_touch_fd(fd), (X))
 

#define fd_shutdown_both   2
 

#define fd_shutdown_read   0
 

#define fd_shutdown_write   1
 

#define fd_socket X,
Y,
 )     dmalloc_register_fd(socket((X),(Y),(Z)))
 

#define fd_socketpair   socketpair
 

#define fd_stat F,
BUF   )     stat(F,BUF)
 

#define fd_TRUNC   O_TRUNC
 

#define fd_write fd,
X,
 )     write(dmalloc_touch_fd(fd),(X),(Y))
 

#define fd_WRONLY   O_WRONLY
 

#define FILE_CAPABILITIES   (fd_INTERPROCESSABLE | fd_CAN_NONBLOCK)
 

#define my_FD_CLR FD,
 )     FD_CLR((FD), & (S)->tmp)
 

#define my_FD_ISSET FD,
 )     FD_ISSET((FD), & (S)->tmp)
 

#define my_FD_SET FD,
 )     FD_SET((FD), & (S)->tmp)
 

#define my_FD_ZERO  )     FD_ZERO(& (S)->tmp)
 

#define PIPE_CAPABILITIES   (fd_INTERPROCESSABLE | fd_BUFFERED | fd_CAN_NONBLOCK)
 

#define S_ISREG mode   )     (((mode) & (_S_IFMT)) == (_S_IFREG))
 

#define SEEK_CUR   1
 

#define SEEK_END   2
 

#define SEEK_SET   0
 

#define SOCKET_CAPABILITIES   (fd_INTERPROCESSABLE | fd_BIDIRECTIONAL | fd_CAN_NONBLOCK | fd_CAN_SHUTDOWN)
 

#define UNIX_SOCKET_CAPABILITIES   (fd_INTERPROCESSABLE | fd_BIDIRECTIONAL | fd_CAN_NONBLOCK)
 


Typedef Documentation

typedef int FD
 

typedef struct my_fd_set_s my_fd_set
 

typedef off_t PIKE_OFF_T
 

typedef struct stat PIKE_STAT_T
 


Function Documentation

PMOD_PROTO void create_proxy_pipe struct object o,
int  for_reading
 

PMOD_PROTO int fd_from_object struct object o  ) 
 

PMOD_PROTO struct object* file_make_object_from_fd int  fd,
int  mode,
int  guess
 

PMOD_PROTO int pike_make_pipe int fds  ) 
 


Generated on Fri Jul 22 23:44:28 2005 for Pike by  doxygen 1.3.9.1