summaryrefslogtreecommitdiff
path: root/ACE/ace/OS_NS_unistd.h
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2008-03-04 14:51:23 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2008-03-04 14:51:23 +0000
commit99aa8c60282c7b8072eb35eb9ac815702f5bf586 (patch)
treebda96bf8c3a4c2875a083d7b16720533c8ffeaf4 /ACE/ace/OS_NS_unistd.h
parentc4078c377d74290ebe4e66da0b4975da91732376 (diff)
downloadATCD-99aa8c60282c7b8072eb35eb9ac815702f5bf586.tar.gz
undoing accidental deletion
Diffstat (limited to 'ACE/ace/OS_NS_unistd.h')
-rw-r--r--ACE/ace/OS_NS_unistd.h375
1 files changed, 375 insertions, 0 deletions
diff --git a/ACE/ace/OS_NS_unistd.h b/ACE/ace/OS_NS_unistd.h
new file mode 100644
index 00000000000..aeb5b181964
--- /dev/null
+++ b/ACE/ace/OS_NS_unistd.h
@@ -0,0 +1,375 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file OS_NS_unistd.h
+ *
+ * $Id$
+ *
+ * @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
+
+// This should go in os_unistd.h, but since we don't yet implement any code
+// at that level, we put it here. It used to be in OS.i.
+#if defined (ACE_NEEDS_FTRUNCATE)
+extern "C" ACE_Export int ftruncate (ACE_HANDLE handle, long len);
+#endif /* ACE_NEEDS_FTRUNCATE */
+
+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 (ACE_TCHAR **argv,
+ ACE_TCHAR *&buf,
+ bool substitute_env_args = true,
+ bool quote_args = false);
+
+#if !defined (ACE_LACKS_CHDIR)
+ 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 */
+#endif /* ACE_LACKS_CHDIR */
+
+ 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
+ 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 <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<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 <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 */