DMTCP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Macros | Enumerations | Functions | Variables
pidwrappers.h File Reference
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <signal.h>
#include <sys/wait.h>
#include <sys/ptrace.h>
#include <stdarg.h>
#include <asm/ldt.h>
#include <thread_db.h>
#include <sys/procfs.h>
#include <syslog.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/msg.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/epoll.h>
#include <dirent.h>
#include <unistd.h>
#include <pwd.h>
#include <grp.h>
#include <netdb.h>
#include <mqueue.h>
#include "dmtcp.h"

Go to the source code of this file.

Classes

union  semun
 

Macros

#define _GNU_SOURCE
 
#define ENV_VAR_VIRTUAL_PID   "DMTCP_VIRTUAL_PID"
 
#define FOREACH_PIDVIRT_WRAPPER(MACRO)
 
#define FOREACH_SYSVIPC_CTL_WRAPPER(MACRO)
 
#define FOREACH_FOPEN_WRAPPER(MACRO)
 
#define PIDVIRT_ENUM(x)   pid_enum_ ## x
 
#define PIDVIRT_GEN_ENUM(x)   PIDVIRT_ENUM(x),
 

Enumerations

enum  PidVirtWrapperOffset { numPidVirtWrappers }
 

Functions

void dmtcpResetPidPpid ()
 
void dmtcpResetTid (pid_t tid)
 
LIB_PRIVATE void * _real_dlsym (void *handle, const char *symbol)
 
LIB_PRIVATE pid_t dmtcp_gettid ()
 
LIB_PRIVATE int dmtcp_tkill (int tid, int sig)
 
LIB_PRIVATE int dmtcp_tgkill (int tgid, int tid, int sig)
 
pid_t _real_fork ()
 
int _real_clone (int(*fn)(void *arg), void *child_stack, int flags, void *arg, int *parent_tidptr, struct user_desc *newtls, int *child_tidptr)
 
pid_t _real_gettid (void)
 
int _real_tkill (int tid, int sig)
 
int _real_tgkill (int tgid, int tid, int sig)
 
long int _real_syscall (long int sys_num,...)
 
int _real_shmget (key_t key, size_t size, int shmflg)
 
void * _real_shmat (int shmid, const void *shmaddr, int shmflg)
 
int _real_shmdt (const void *shmaddr)
 
int _real_shmctl (int shmid, int cmd, struct shmid_ds *buf)
 
int _real_semctl (int semid, int semnum, int cmd,...)
 
int _real_msgctl (int msqid, int cmd, struct msqid_ds *buf)
 
int _real_mq_notify (mqd_t mqdes, const struct sigevent *sevp)
 
int _real_clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
 
int _real_timer_create (clockid_t clockid, struct sigevent *sevp, timer_t *timerid)
 
pid_t _real_getpid (void)
 
pid_t _real_getppid (void)
 
pid_t _real_tcgetsid (int fd)
 
pid_t _real_tcgetpgrp (int fd)
 
int _real_tcsetpgrp (int fd, pid_t pgrp)
 
pid_t _real_getpgrp (void)
 
pid_t _real_setpgrp (void)
 
pid_t _real_getpgid (pid_t pid)
 
int _real_setpgid (pid_t pid, pid_t pgid)
 
pid_t _real_getsid (pid_t pid)
 
pid_t _real_setsid (void)
 
int _real_kill (pid_t pid, int sig)
 
pid_t _real_wait (__WAIT_STATUS stat_loc)
 
pid_t _real_waitpid (pid_t pid, int *stat_loc, int options)
 
int _real_waitid (idtype_t idtype, id_t id, siginfo_t *infop, int options)
 
pid_t _real_wait3 (__WAIT_STATUS status, int options, struct rusage *rusage)
 
pid_t _real_wait4 (pid_t pid, __WAIT_STATUS status, int options, struct rusage *rusage)
 
int _real_ioctl (int d, unsigned long int request,...) __THROW
 
int _real_setgid (gid_t gid)
 
int _real_setuid (uid_t uid)
 
long _real_ptrace (enum __ptrace_request request, pid_t pid, void *addr, void *data)
 
void _real_pthread_exit (void *retval)
 
int _real_fcntl (int fd, int cmd, void *arg)
 
int _real_open (const char *pathname, int flags,...)
 
int _real_open64 (const char *pathname, int flags,...)
 
FILE * _real_fopen (const char *path, const char *mode)
 
FILE * _real_fopen64 (const char *path, const char *mode)
 
int _real_fclose (FILE *fp)
 
int _real_xstat (int vers, const char *path, struct stat *buf)
 
int _real_xstat64 (int vers, const char *path, struct stat64 *buf)
 
int _real_lxstat (int vers, const char *path, struct stat *buf)
 
int _real_lxstat64 (int vers, const char *path, struct stat64 *buf)
 
ssize_t _real_readlink (const char *path, char *buf, size_t bufsiz)
 

Variables

LIB_PRIVATE int send_sigwinch
 

Macro Definition Documentation

#define _GNU_SOURCE

Definition at line 26 of file pidwrappers.h.

#define ENV_VAR_VIRTUAL_PID   "DMTCP_VIRTUAL_PID"

Definition at line 67 of file pidwrappers.h.

#define FOREACH_FOPEN_WRAPPER (   MACRO)
Value:
MACRO(fopen) \
MACRO(fclose)

Definition at line 140 of file pidwrappers.h.

#define FOREACH_PIDVIRT_WRAPPER (   MACRO)

Definition at line 91 of file pidwrappers.h.

#define FOREACH_SYSVIPC_CTL_WRAPPER (   MACRO)
Value:
MACRO(shmctl) \
MACRO(semctl) \
MACRO(msgctl)

Definition at line 135 of file pidwrappers.h.

#define PIDVIRT_ENUM (   x)    pid_enum_ ## x

Definition at line 144 of file pidwrappers.h.

#define PIDVIRT_GEN_ENUM (   x)    PIDVIRT_ENUM(x),

Definition at line 145 of file pidwrappers.h.

Enumeration Type Documentation

Enumerator
numPidVirtWrappers 

Definition at line 146 of file pidwrappers.h.

Function Documentation

int _real_clock_getcpuclockid ( pid_t  pid,
clockid_t *  clock_id 
)

Definition at line 336 of file pid_syscallsreal.c.

int _real_clone ( int(*)(void *arg)  fn,
void *  child_stack,
int  flags,
void *  arg,
int *  parent_tidptr,
struct user_desc newtls,
int *  child_tidptr 
)
LIB_PRIVATE void* _real_dlsym ( void *  handle,
const char *  symbol 
)

Definition at line 113 of file pid_syscallsreal.c.

int _real_fclose ( FILE *  fp)

Definition at line 210 of file nosyscallsreal.c.

int _real_fcntl ( int  fd,
int  cmd,
void *  arg 
)

Definition at line 236 of file nosyscallsreal.c.

FILE* _real_fopen ( const char *  path,
const char *  mode 
)

Definition at line 412 of file nosyscallsreal.c.

FILE* _real_fopen64 ( const char *  path,
const char *  mode 
)

Definition at line 416 of file nosyscallsreal.c.

pid_t _real_fork ( )

Definition at line 200 of file nosyscallsreal.c.

pid_t _real_getpgid ( pid_t  pid)

Definition at line 293 of file nosyscallsreal.c.

pid_t _real_getpgrp ( void  )

Definition at line 285 of file nosyscallsreal.c.

pid_t _real_getpid ( void  )

Definition at line 269 of file nosyscallsreal.c.

pid_t _real_getppid ( void  )

Definition at line 273 of file nosyscallsreal.c.

pid_t _real_getsid ( pid_t  pid)

Definition at line 301 of file nosyscallsreal.c.

pid_t _real_gettid ( void  )

Definition at line 245 of file pid_syscallsreal.c.

int _real_ioctl ( int  d,
unsigned long int  request,
  ... 
)

Definition at line 334 of file nosyscallsreal.c.

int _real_kill ( pid_t  pid,
int  sig 
)

Definition at line 309 of file nosyscallsreal.c.

int _real_lxstat ( int  vers,
const char *  path,
struct stat *  buf 
)

Definition at line 402 of file pid_syscallsreal.c.

int _real_lxstat64 ( int  vers,
const char *  path,
struct stat64 *  buf 
)

Definition at line 406 of file pid_syscallsreal.c.

int _real_mq_notify ( mqd_t  mqdes,
const struct sigevent *  sevp 
)

Definition at line 331 of file pid_syscallsreal.c.

int _real_msgctl ( int  msqid,
int  cmd,
struct msqid_ds *  buf 
)

Definition at line 325 of file pid_syscallsreal.c.

int _real_open ( const char *  pathname,
int  flags,
  ... 
)

Definition at line 388 of file nosyscallsreal.c.

int _real_open64 ( const char *  pathname,
int  flags,
  ... 
)

Definition at line 400 of file nosyscallsreal.c.

void _real_pthread_exit ( void *  retval)

Definition at line 348 of file pid_syscallsreal.c.

long _real_ptrace ( enum __ptrace_request  request,
pid_t  pid,
void *  addr,
void *  data 
)

Definition at line 238 of file pid_syscallsreal.c.

ssize_t _real_readlink ( const char *  path,
char *  buf,
size_t  bufsiz 
)

Definition at line 441 of file nosyscallsreal.c.

int _real_semctl ( int  semid,
int  semnum,
int  cmd,
  ... 
)

Definition at line 315 of file pid_syscallsreal.c.

int _real_setgid ( gid_t  gid)

Definition at line 228 of file pid_syscallsreal.c.

int _real_setpgid ( pid_t  pid,
pid_t  pgid 
)

Definition at line 297 of file nosyscallsreal.c.

pid_t _real_setpgrp ( void  )

Definition at line 289 of file nosyscallsreal.c.

pid_t _real_setsid ( void  )

Definition at line 305 of file nosyscallsreal.c.

int _real_setuid ( uid_t  uid)

Definition at line 233 of file pid_syscallsreal.c.

void* _real_shmat ( int  shmid,
const void *  shmaddr,
int  shmflg 
)

Definition at line 424 of file nosyscallsreal.c.

int _real_shmctl ( int  shmid,
int  cmd,
struct shmid_ds *  buf 
)

Definition at line 432 of file nosyscallsreal.c.

int _real_shmdt ( const void *  shmaddr)

Definition at line 428 of file nosyscallsreal.c.

int _real_shmget ( key_t  key,
size_t  size,
int  shmflg 
)

Definition at line 420 of file nosyscallsreal.c.

long int _real_syscall ( long int  sys_num,
  ... 
)
pid_t _real_tcgetpgrp ( int  fd)

Definition at line 281 of file nosyscallsreal.c.

pid_t _real_tcgetsid ( int  fd)

Definition at line 138 of file pid_syscallsreal.c.

int _real_tcsetpgrp ( int  fd,
pid_t  pgrp 
)

Definition at line 277 of file nosyscallsreal.c.

int _real_tgkill ( int  tgid,
int  tid,
int  sig 
)

Definition at line 259 of file pid_syscallsreal.c.

int _real_timer_create ( clockid_t  clockid,
struct sigevent *  sevp,
timer_t *  timerid 
)

Definition at line 341 of file pid_syscallsreal.c.

int _real_tkill ( int  tid,
int  sig 
)

Definition at line 252 of file pid_syscallsreal.c.

pid_t _real_wait ( __WAIT_STATUS  stat_loc)

Definition at line 313 of file nosyscallsreal.c.

pid_t _real_wait3 ( __WAIT_STATUS  status,
int  options,
struct rusage *  rusage 
)

Definition at line 325 of file nosyscallsreal.c.

pid_t _real_wait4 ( pid_t  pid,
__WAIT_STATUS  status,
int  options,
struct rusage *  rusage 
)

Definition at line 329 of file nosyscallsreal.c.

int _real_waitid ( idtype_t  idtype,
id_t  id,
siginfo_t *  infop,
int  options 
)

Definition at line 321 of file nosyscallsreal.c.

pid_t _real_waitpid ( pid_t  pid,
int *  stat_loc,
int  options 
)

Definition at line 317 of file nosyscallsreal.c.

int _real_xstat ( int  vers,
const char *  path,
struct stat *  buf 
)

Definition at line 394 of file pid_syscallsreal.c.

int _real_xstat64 ( int  vers,
const char *  path,
struct stat64 *  buf 
)

Definition at line 398 of file pid_syscallsreal.c.

LIB_PRIVATE pid_t dmtcp_gettid ( )

Definition at line 378 of file nosyscallsreal.c.

LIB_PRIVATE int dmtcp_tgkill ( int  tgid,
int  tid,
int  sig 
)

Definition at line 384 of file nosyscallsreal.c.

LIB_PRIVATE int dmtcp_tkill ( int  tid,
int  sig 
)

Definition at line 381 of file nosyscallsreal.c.

void dmtcpResetPidPpid ( )

Definition at line 59 of file pidwrappers.cpp.

void dmtcpResetTid ( pid_t  tid)

Definition at line 111 of file pidwrappers.cpp.

Variable Documentation

LIB_PRIVATE int send_sigwinch

Definition at line 333 of file nosyscallsreal.c.