MySQL  8.0.19
Source Code Documentation
x_platform.h File Reference
#include <fcntl.h>
#include <sched.h>
#include <string.h>
#include <strings.h>
#include <unistd.h>

Go to the source code of this file.

Macros

#define O_LARGEFILE   0
 
#define xcom_close(fd)   close(fd)
 
#define xcom_fclose(f)   fclose(f)
 
#define xcom_chdir(s)   chdir(s)
 
#define xcom_dup(s)   dup(s)
 
#define xcom_dup2(s, t)   dup2(s, t)
 
#define xcom_lseek(fd, of, h)   lseek(fd, of, h)
 
#define xcom_open(n, f, m)   open(n, f, m)
 
#define xcom_fopen(n, m)   fopen(n, m)
 
#define xcom_fstat(f, b)   fstat(f, b)
 
#define XCOM_F_TLOCK   F_TLOCK
 
#define xcom_lockf(fd, f, sz)   lockf(fd, f, sz)
 
#define xcom_lrand48()   lrand48()
 
#define xcom_srand48(x)   srand48(x)
 
#define xcom_drand48()   drand48()
 
#define xcom_write(fd, buf, l)   write(fd, buf, l)
 
#define xcom_read(fd, buf, c)   read(fd, buf, c)
 
#define xcom_execv   execv
 
#define xcom_mktemp(s)   mktemp(s)
 
#define xcom_strdup(x)   strdup(x)
 
#define xcom_strtok(b, d, c)   strtok_r(b, d, c)
 
#define xcom_strcasecmp(a, b)   strcasecmp(a, b)
 
#define xcom_g_io_channel_socket_new   g_io_channel_unix_new
 
#define XCOM_O_CREAT   O_CREAT
 
#define XCOM_O_WRONLY   O_WRONLY
 
#define XCOM_O_APPEND   O_APPEND
 
#define XCOM_O_LARGEFILE   O_LARGEFILE
 
#define XCOM_O_EXCL   O_EXCL
 
#define XCOM_O_RDWR   O_RDWR
 
#define XCOM_O_RDONLY   O_RDONLY
 
#define XCOM_O_RSYNC   O_RSYNC
 
#define XCOM_O_BINARY   0 /** Empty define - applicable WIN32 only */
 
#define XCOM_S_IRUSR   S_IRUSR
 
#define XCOM_S_IWUSR   S_IWUSR
 
#define XCOM_S_IRGRP   S_IRGRP
 
#define XCOM_S_IWGRP   S_IWGRP
 
#define XCOM_S_IROTH   S_IROTH
 
#define XCOM_S_IWOTH   S_IWOTH
 
#define XCOM_FILE_WRITE_MODE   "wF"
 
#define SOCKET_ERROR   -1
 
#define XCOM_CLRSYSERR   errno = 0
 
#define XCOM_ISSYSERR   (errno != 0)
 
#define XCOM_SYSERRNUM   ((errno) + 0)
 
#define XCOM_SYSERRSTR   g_strerror(errno)
 
#define xcom_gmtime_r(time, res)   gmtime_r(time, res)
 
#define xcom_localtime_r(time, res)   localtime_r(time, res)
 
#define thread_yield   sched_yield
 
#define NEWLINE   "\n"
 

Typedefs

typedef void * xcom_sockoptptr_t
 Posix states that the optval argument should be (const) void*, but on Windows it is (const) char* and since we normally pass in int* a cast is required on Windows. More...
 

Macro Definition Documentation

◆ NEWLINE

#define NEWLINE   "\n"

◆ O_LARGEFILE

#define O_LARGEFILE   0

◆ SOCKET_ERROR

#define SOCKET_ERROR   -1

◆ thread_yield

#define thread_yield   sched_yield

◆ xcom_chdir

#define xcom_chdir (   s)    chdir(s)

◆ xcom_close

#define xcom_close (   fd)    close(fd)

◆ XCOM_CLRSYSERR

#define XCOM_CLRSYSERR   errno = 0

◆ xcom_drand48

#define xcom_drand48 ( )    drand48()

◆ xcom_dup

#define xcom_dup (   s)    dup(s)

◆ xcom_dup2

#define xcom_dup2 (   s,
 
)    dup2(s, t)

◆ xcom_execv

#define xcom_execv   execv

◆ XCOM_F_TLOCK

#define XCOM_F_TLOCK   F_TLOCK

◆ xcom_fclose

#define xcom_fclose (   f)    fclose(f)

◆ XCOM_FILE_WRITE_MODE

#define XCOM_FILE_WRITE_MODE   "wF"

◆ xcom_fopen

#define xcom_fopen (   n,
 
)    fopen(n, m)

◆ xcom_fstat

#define xcom_fstat (   f,
 
)    fstat(f, b)

◆ xcom_g_io_channel_socket_new

#define xcom_g_io_channel_socket_new   g_io_channel_unix_new

◆ xcom_gmtime_r

#define xcom_gmtime_r (   time,
  res 
)    gmtime_r(time, res)

◆ XCOM_ISSYSERR

#define XCOM_ISSYSERR   (errno != 0)

◆ xcom_localtime_r

#define xcom_localtime_r (   time,
  res 
)    localtime_r(time, res)

◆ xcom_lockf

#define xcom_lockf (   fd,
  f,
  sz 
)    lockf(fd, f, sz)

◆ xcom_lrand48

#define xcom_lrand48 ( )    lrand48()

◆ xcom_lseek

#define xcom_lseek (   fd,
  of,
 
)    lseek(fd, of, h)

◆ xcom_mktemp

#define xcom_mktemp (   s)    mktemp(s)

◆ XCOM_O_APPEND

#define XCOM_O_APPEND   O_APPEND

◆ XCOM_O_BINARY

#define XCOM_O_BINARY   0 /** Empty define - applicable WIN32 only */

◆ XCOM_O_CREAT

#define XCOM_O_CREAT   O_CREAT

◆ XCOM_O_EXCL

#define XCOM_O_EXCL   O_EXCL

◆ XCOM_O_LARGEFILE

#define XCOM_O_LARGEFILE   O_LARGEFILE

◆ XCOM_O_RDONLY

#define XCOM_O_RDONLY   O_RDONLY

◆ XCOM_O_RDWR

#define XCOM_O_RDWR   O_RDWR

◆ XCOM_O_RSYNC

#define XCOM_O_RSYNC   O_RSYNC

◆ XCOM_O_WRONLY

#define XCOM_O_WRONLY   O_WRONLY

◆ xcom_open

#define xcom_open (   n,
  f,
 
)    open(n, f, m)

◆ xcom_read

#define xcom_read (   fd,
  buf,
 
)    read(fd, buf, c)

◆ XCOM_S_IRGRP

#define XCOM_S_IRGRP   S_IRGRP

◆ XCOM_S_IROTH

#define XCOM_S_IROTH   S_IROTH

◆ XCOM_S_IRUSR

#define XCOM_S_IRUSR   S_IRUSR

◆ XCOM_S_IWGRP

#define XCOM_S_IWGRP   S_IWGRP

◆ XCOM_S_IWOTH

#define XCOM_S_IWOTH   S_IWOTH

◆ XCOM_S_IWUSR

#define XCOM_S_IWUSR   S_IWUSR

◆ xcom_srand48

#define xcom_srand48 (   x)    srand48(x)

◆ xcom_strcasecmp

#define xcom_strcasecmp (   a,
 
)    strcasecmp(a, b)

◆ xcom_strdup

#define xcom_strdup (   x)    strdup(x)

◆ xcom_strtok

#define xcom_strtok (   b,
  d,
 
)    strtok_r(b, d, c)

◆ XCOM_SYSERRNUM

#define XCOM_SYSERRNUM   ((errno) + 0)

◆ XCOM_SYSERRSTR

#define XCOM_SYSERRSTR   g_strerror(errno)

◆ xcom_write

#define xcom_write (   fd,
  buf,
 
)    write(fd, buf, l)

Typedef Documentation

◆ xcom_sockoptptr_t

typedef void* xcom_sockoptptr_t

Posix states that the optval argument should be (const) void*, but on Windows it is (const) char* and since we normally pass in int* a cast is required on Windows.

With this typedef we can call xsockopt functions uniformly across platorms, allbeit with an unnecessary cast to void* on *nix.