/dep/acelite/ace/OS_NS_unistd.h
https://gitlab.com/mohsencs/SunWellCore · C Header · 373 lines · 248 code · 87 blank · 38 comment · 4 complexity · 5062b1f0f698290866d9bfd062725947 MD5 · raw file
- // -*- C++ -*-
- //=============================================================================
- /**
- * @file OS_NS_unistd.h
- *
- * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * @author Jesper S. M|ller<stophph@diku.dk>
- * @author and a cast of thousands...
- *
- * Originally in OS.h.
- */
- //=============================================================================
- #ifndef ACE_OS_NS_UNISTD_H
- # define ACE_OS_NS_UNISTD_H
- # include /**/ "ace/pre.h"
- # include "ace/config-all.h"
- # if !defined (ACE_LACKS_PRAGMA_ONCE)
- # pragma once
- # endif /* ACE_LACKS_PRAGMA_ONCE */
- #include /**/ "ace/ACE_export.h"
- #include "ace/Time_Value.h"
- #include "ace/Basic_Types.h"
- #include "ace/os_include/os_unistd.h"
- #include "ace/os_include/os_stdio.h"
- #if defined (ACE_EXPORT_MACRO)
- # undef ACE_EXPORT_MACRO
- #endif
- #define ACE_EXPORT_MACRO ACE_Export
- ACE_BEGIN_VERSIONED_NAMESPACE_DECL
- namespace ACE_OS
- {
- ACE_NAMESPACE_INLINE_FUNCTION
- int access (const char *path, int amode);
- #if defined (ACE_HAS_WCHAR)
- ACE_NAMESPACE_INLINE_FUNCTION
- int access (const wchar_t *path, int amode);
- #endif /* ACE_HAS_WCHAR */
- ACE_NAMESPACE_INLINE_FUNCTION
- unsigned int alarm (u_int secs);
- ACE_NAMESPACE_INLINE_FUNCTION
- long allocation_granularity (void);
- /// used by ARGV::argv_to_string() and ACE_OS::fork_exec()
- extern ACE_Export
- int argv_to_string (int argc,
- ACE_TCHAR **argv,
- ACE_TCHAR *&buf,
- bool substitute_env_args = true,
- bool quote_args = false);
- extern ACE_Export
- int argv_to_string (ACE_TCHAR **argv,
- ACE_TCHAR *&buf,
- bool substitute_env_args = true,
- bool quote_args = false);
- ACE_NAMESPACE_INLINE_FUNCTION
- int chdir (const char *path);
- #if defined (ACE_HAS_WCHAR)
- ACE_NAMESPACE_INLINE_FUNCTION
- int chdir (const wchar_t *path);
- #endif /* ACE_HAS_WCHAR */
- ACE_NAMESPACE_INLINE_FUNCTION
- int rmdir (const char *path);
- #if defined (ACE_HAS_WCHAR)
- ACE_NAMESPACE_INLINE_FUNCTION
- int rmdir (const wchar_t *path);
- #endif /* ACE_HAS_WCHAR */
- ACE_NAMESPACE_INLINE_FUNCTION
- int close (ACE_HANDLE handle);
- ACE_NAMESPACE_INLINE_FUNCTION
- ACE_HANDLE dup (ACE_HANDLE handle);
- ACE_NAMESPACE_INLINE_FUNCTION
- ACE_HANDLE dup (ACE_HANDLE handle, pid_t pid);
- ACE_NAMESPACE_INLINE_FUNCTION
- int dup2 (ACE_HANDLE oldfd,
- ACE_HANDLE newfd);
- extern ACE_Export
- int execl (const char *path,
- const char *arg0, ...);
- extern ACE_Export
- int execle (const char *path,
- const char *arg0, ...);
- extern ACE_Export
- int execlp (const char *file,
- const char *arg0, ...);
- ACE_NAMESPACE_INLINE_FUNCTION
- int execv (const char *path,
- char *const argv[]);
- ACE_NAMESPACE_INLINE_FUNCTION
- int execve (const char *path,
- char *const argv[],
- char *const envp[]);
- ACE_NAMESPACE_INLINE_FUNCTION
- int execvp (const char *file,
- char *const argv[]);
- //@{
- /// Forks and exec's a process in a manner that works on Solaris and
- /// NT. argv[0] must be the full path name to the executable.
- ACE_NAMESPACE_INLINE_FUNCTION
- pid_t fork (void);
- // not in susv3
- extern ACE_Export
- pid_t fork (const ACE_TCHAR *program_name);
- extern ACE_Export
- pid_t fork_exec (ACE_TCHAR *argv[]);
- //@}
- ACE_NAMESPACE_INLINE_FUNCTION
- int fsync (ACE_HANDLE handle);
- ACE_NAMESPACE_INLINE_FUNCTION
- int ftruncate (ACE_HANDLE handle, ACE_OFF_T offset);
- ACE_NAMESPACE_INLINE_FUNCTION
- char *getcwd (char *, size_t);
- #if defined (ACE_HAS_WCHAR)
- ACE_NAMESPACE_INLINE_FUNCTION
- wchar_t *getcwd (wchar_t *, size_t);
- #endif /* ACE_HAS_WCHAR */
- ACE_NAMESPACE_INLINE_FUNCTION
- gid_t getgid (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- gid_t getegid (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- int getopt (int argc,
- char *const *argv,
- const char *optstring);
- ACE_NAMESPACE_INLINE_FUNCTION
- long getpagesize (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- pid_t getpgid (pid_t pid);
- ACE_NAMESPACE_INLINE_FUNCTION
- pid_t getpid (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- pid_t getppid (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- uid_t getuid (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- uid_t geteuid (void);
- // should call gethostname()
- ACE_NAMESPACE_INLINE_FUNCTION
- int hostname (char name[],
- size_t maxnamelen);
- #if defined (ACE_HAS_WCHAR)
- ACE_NAMESPACE_INLINE_FUNCTION
- int hostname (wchar_t name[],
- size_t maxnamelen);
- #endif /* ACE_HAS_WCHAR */
- ACE_NAMESPACE_INLINE_FUNCTION
- int isatty (int handle);
- #if defined (ACE_WIN32)
- ACE_NAMESPACE_INLINE_FUNCTION
- int isatty (ACE_HANDLE handle);
- #endif /* ACE_WIN32 */
- ACE_NAMESPACE_INLINE_FUNCTION
- ACE_OFF_T lseek (ACE_HANDLE handle,
- ACE_OFF_T offset,
- int whence);
- #if defined (ACE_HAS_LLSEEK) || defined (ACE_HAS_LSEEK64)
- ACE_NAMESPACE_INLINE_FUNCTION
- ACE_LOFF_T llseek (ACE_HANDLE handle,
- ACE_LOFF_T offset,
- int whence);
- #endif /* ACE_HAS_LLSEEK */
- /// Get the number of CPUs configured in the machine.
- extern ACE_Export
- long num_processors (void);
- /// Get the number of CPUs currently online.
- extern ACE_Export
- long num_processors_online (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- int pipe (ACE_HANDLE handles[]);
- extern ACE_Export
- ssize_t pread (ACE_HANDLE handle,
- void *buf,
- size_t nbyte,
- ACE_OFF_T offset);
- extern ACE_Export
- ssize_t pwrite (ACE_HANDLE handle,
- const void *buf,
- size_t nbyte,
- ACE_OFF_T offset);
- ACE_NAMESPACE_INLINE_FUNCTION
- ssize_t read (ACE_HANDLE handle,
- void *buf,
- size_t len);
- ACE_NAMESPACE_INLINE_FUNCTION
- ssize_t read (ACE_HANDLE handle,
- void *buf,
- size_t len,
- ACE_OVERLAPPED *);
- /**
- * Receive @a len bytes into @a buf from @a handle (uses the
- * <ACE_OS::read> call, which uses the <read> system call on UNIX
- * and the <ReadFile> call on Win32). If errors occur, -1 is
- * returned. If EOF occurs, 0 is returned. Whatever data has been
- * read will be returned to the caller through @a bytes_transferred.
- *
- */
- extern ACE_Export
- ssize_t read_n (ACE_HANDLE handle,
- void *buf,
- size_t len,
- size_t *bytes_transferred = 0);
- ACE_NAMESPACE_INLINE_FUNCTION
- ssize_t readlink (const char *path,
- char *buf,
- size_t bufsiz);
- ACE_NAMESPACE_INLINE_FUNCTION
- void *sbrk (intptr_t brk);
- ACE_NAMESPACE_INLINE_FUNCTION
- int setgid (gid_t);
- ACE_NAMESPACE_INLINE_FUNCTION
- int setegid (gid_t);
- ACE_NAMESPACE_INLINE_FUNCTION
- int setpgid (pid_t pid, pid_t pgid);
- ACE_NAMESPACE_INLINE_FUNCTION
- int setregid (gid_t rgid, gid_t egid);
- ACE_NAMESPACE_INLINE_FUNCTION
- int setreuid (uid_t ruid, uid_t euid);
- ACE_NAMESPACE_INLINE_FUNCTION
- pid_t setsid (void);
- ACE_NAMESPACE_INLINE_FUNCTION
- int setuid (uid_t);
- ACE_NAMESPACE_INLINE_FUNCTION
- int seteuid (uid_t);
- ACE_NAMESPACE_INLINE_FUNCTION
- int sleep (u_int seconds);
- ACE_NAMESPACE_INLINE_FUNCTION
- int sleep (const ACE_Time_Value &tv);
- // used by ARGV::string_to_argv
- extern ACE_Export
- int string_to_argv (ACE_TCHAR *buf,
- int &argc,
- ACE_TCHAR **&argv,
- bool substitute_env_args = true);
- ACE_NAMESPACE_INLINE_FUNCTION
- void swab (const void *src, void *dest, ssize_t n);
- ACE_NAMESPACE_INLINE_FUNCTION
- long sysconf (int);
- // not in susv3
- ACE_NAMESPACE_INLINE_FUNCTION
- long sysinfo (int cmd,
- char *buf,
- long count);
- ACE_NAMESPACE_INLINE_FUNCTION
- int truncate (const ACE_TCHAR *filename, ACE_OFF_T length);
- ACE_NAMESPACE_INLINE_FUNCTION
- useconds_t ualarm (useconds_t usecs,
- useconds_t interval = 0);
- ACE_NAMESPACE_INLINE_FUNCTION
- useconds_t ualarm (const ACE_Time_Value &tv,
- const ACE_Time_Value &tv_interval = ACE_Time_Value::zero);
- ACE_NAMESPACE_INLINE_FUNCTION
- int unlink (const char *path);
- #if defined (ACE_HAS_WCHAR)
- ACE_NAMESPACE_INLINE_FUNCTION
- int unlink (const wchar_t *path);
- #endif /* ACE_HAS_WCHAR */
- ACE_NAMESPACE_INLINE_FUNCTION
- ssize_t write (ACE_HANDLE handle,
- const void *buf,
- size_t nbyte);
- ACE_NAMESPACE_INLINE_FUNCTION
- ssize_t write (ACE_HANDLE handle,
- const void *buf,
- size_t nbyte,
- ACE_OVERLAPPED *);
- /**
- * Send @a len bytes from @a buf to @a handle (uses the <ACE_OS::write>
- * calls, which is uses the <write> system call on UNIX and the
- * <WriteFile> call on Win32). If errors occur, -1 is returned. If
- * EOF occurs, 0 is returned. Whatever data has been transmitted
- * will be returned to the caller through @a bytes_transferred.
- */
- extern ACE_Export
- ssize_t write_n (ACE_HANDLE handle,
- const void *buf,
- size_t len,
- size_t *bytes_transferred = 0);
- } /* namespace ACE_OS */
- ACE_END_VERSIONED_NAMESPACE_DECL
- # if defined (ACE_HAS_INLINED_OSCALLS)
- # if defined (ACE_INLINE)
- # undef ACE_INLINE
- # endif /* ACE_INLINE */
- # define ACE_INLINE inline
- # include "ace/OS_NS_unistd.inl"
- # endif /* ACE_HAS_INLINED_OSCALLS */
- # include /**/ "ace/post.h"
- #endif /* ACE_OS_NS_UNISTD_H */