-<?xml version="1.0" encoding="utf-8"?>\r
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r
- <Fragment>\r
- <DirectoryRef Id="examples">\r
- <Component>\r
- <File Source="..\..\examples\1mbs_clients" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\aio-read" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\disk-zone-profile" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\fsx" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\iometer-file-access-server" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\netio" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\ssd-test" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\surface-scan" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\tiobench-example" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\null" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\flow" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\cpuio" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\falloc" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\fusion-aw-sync.ini" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\ssd-steadystate.fio" />\r
- </Component>\r
- <Component>\r
- <File Source="..\..\examples\zipf" />\r
- </Component>\r
- </DirectoryRef>\r
- </Fragment>\r
- <Fragment>\r
- <ComponentGroup Id="examples">\r
- <ComponentRef Id="_1mbs_clients" />\r
- <ComponentRef Id="aio_read" />\r
- <ComponentRef Id="disk_zone_profile" />\r
- <ComponentRef Id="fsx" />\r
- <ComponentRef Id="iometer_file_access_server" />\r
- <ComponentRef Id="netio" />\r
- <ComponentRef Id="ssd_test" />\r
- <ComponentRef Id="surface_scan" />\r
- <ComponentRef Id="tiobench_example" />\r
- <ComponentRef Id="null" />\r
- <ComponentRef Id="flow" />\r
- <ComponentRef Id="cpuio" />\r
- <ComponentRef Id="falloc" />\r
- <ComponentRef Id="fusion_aw_sync.ini" />\r
- <ComponentRef Id="ssd_steadystate.fio" />\r
- <ComponentRef Id="zipf" />\r
- </ComponentGroup>\r
- </Fragment>\r
-</Wix>\r
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Fragment>
+ <DirectoryRef Id="examples">
+ <Component>
+ <File Source="..\..\examples\1mbs_clients" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\aio-read" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\disk-zone-profile" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\fsx" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\iometer-file-access-server" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\netio" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\ssd-test" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\surface-scan" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\tiobench-example" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\null" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\flow" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\cpuio" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\falloc" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\fusion-aw-sync.ini" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\ssd-steadystate.fio" />
+ </Component>
+ <Component>
+ <File Source="..\..\examples\zipf" />
+ </Component>
+ </DirectoryRef>
+ </Fragment>
+ <Fragment>
+ <ComponentGroup Id="examples">
+ <ComponentRef Id="_1mbs_clients" />
+ <ComponentRef Id="aio_read" />
+ <ComponentRef Id="disk_zone_profile" />
+ <ComponentRef Id="fsx" />
+ <ComponentRef Id="iometer_file_access_server" />
+ <ComponentRef Id="netio" />
+ <ComponentRef Id="ssd_test" />
+ <ComponentRef Id="surface_scan" />
+ <ComponentRef Id="tiobench_example" />
+ <ComponentRef Id="null" />
+ <ComponentRef Id="flow" />
+ <ComponentRef Id="cpuio" />
+ <ComponentRef Id="falloc" />
+ <ComponentRef Id="fusion_aw_sync.ini" />
+ <ComponentRef Id="ssd_steadystate.fio" />
+ <ComponentRef Id="zipf" />
+ </ComponentGroup>
+ </Fragment>
+</Wix>
-<?xml version="1.0" encoding="utf-8"?>\r
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r
-\r
- <?if $(env.FIO_ARCH) = x86 ?>\r
- <?define ProgramDirectory = ProgramFilesFolder ?>\r
- <?else?>\r
- <?define ProgramDirectory = ProgramFiles64Folder ?>\r
- <?endif?>\r
-\r
- <Product Id="*"\r
- Codepage="1252" Language="1033"\r
- Manufacturer="fio" Name="fio"\r
- UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="2.0.13">\r
- <Package\r
- Description="Flexible IO Tester"\r
- InstallerVersion="301" Keywords="Installer,MSI,Database"\r
- Languages="1033" Manufacturer="fio"\r
- InstallScope="perMachine" InstallPrivileges="elevated" Compressed="yes"/>\r
-\r
- <Media Id="1" Cabinet="Product.cab" EmbedCab="yes" CompressionLevel="high"/>\r
-\r
- <Directory Id="TARGETDIR" Name="SourceDir">\r
- <Directory Id="$(var.ProgramDirectory)">\r
- <Directory Id="INSTALLDIR">\r
- <Directory Id="fio" Name="fio">\r
- <Component>\r
- <File Source="..\..\fio.exe"/>\r
- </Component>\r
- <Component>\r
- <File KeyPath="yes" Source="..\..\pthreadGC2.dll"/>\r
- </Component>\r
- <Component>\r
- <File Id="README" Name="README.rtf" Source="..\..\README"/>\r
- </Component>\r
- <Component>\r
- <File Id="REPORTING_BUGS" Name="REPORTING-BUGS.rtf" Source="..\..\REPORTING-BUGS"/>\r
- </Component>\r
- <Component>\r
- <File Id="HOWTO" Name="HOWTO.rtf" Source="..\..\HOWTO"/>\r
- </Component>\r
- <Component>\r
- <File Id="COPYING" Name="COPYING.rtf" Source="..\..\COPYING"/>\r
- </Component>\r
- <Directory Id="examples" Name="examples"/>\r
- </Directory>\r
- </Directory>\r
- </Directory>\r
- </Directory>\r
-\r
- <Feature Id="AlwaysInstall" Absent="disallow" ConfigurableDirectory="INSTALLDIR" Display="hidden" Level="1" Title="Flexible IO Tester">\r
- <ComponentRef Id="fio.exe"/>\r
- <ComponentRef Id="pthreadGC2.dll"/>\r
- <ComponentRef Id="HOWTO"/>\r
- <ComponentRef Id="README"/>\r
- <ComponentRef Id="REPORTING_BUGS"/>\r
- <ComponentRef Id="COPYING"/>\r
- <ComponentGroupRef Id="examples"/>\r
- </Feature>\r
-\r
- <Property Id="ARPURLINFOABOUT" Value="http://git.kernel.dk/?p=fio.git" />\r
- <Property Id='ARPCONTACT'>fio@vger.kernel.org</Property>\r
- <Property Id='ARPHELPLINK'>http://www.spinics.net/lists/fio/</Property>\r
- <Property Id='ARPURLUPDATEINFO'>http://git.kernel.dk/?p=fio.git</Property>\r
-\r
- <WixVariable Id="WixUILicenseRtf" Value="eula.rtf" />\r
-\r
- <UIRef Id="WixUI_Minimal"/>\r
-\r
- <MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A newer version of the application is already installed."/>\r
-</Product>\r
-</Wix>\r
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?if $(env.FIO_ARCH) = x86 ?>
+ <?define ProgramDirectory = ProgramFilesFolder ?>
+ <?else?>
+ <?define ProgramDirectory = ProgramFiles64Folder ?>
+ <?endif?>
+
+ <Product Id="*"
+ Codepage="1252" Language="1033"
+ Manufacturer="fio" Name="fio"
+ UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="2.0.13">
+ <Package
+ Description="Flexible IO Tester"
+ InstallerVersion="301" Keywords="Installer,MSI,Database"
+ Languages="1033" Manufacturer="fio"
+ InstallScope="perMachine" InstallPrivileges="elevated" Compressed="yes"/>
+
+ <Media Id="1" Cabinet="Product.cab" EmbedCab="yes" CompressionLevel="high"/>
+
+ <Directory Id="TARGETDIR" Name="SourceDir">
+ <Directory Id="$(var.ProgramDirectory)">
+ <Directory Id="INSTALLDIR">
+ <Directory Id="fio" Name="fio">
+ <Component>
+ <File Source="..\..\fio.exe"/>
+ </Component>
+ <Component>
+ <File KeyPath="yes" Source="..\..\pthreadGC2.dll"/>
+ </Component>
+ <Component>
+ <File Id="README" Name="README.rtf" Source="..\..\README"/>
+ </Component>
+ <Component>
+ <File Id="REPORTING_BUGS" Name="REPORTING-BUGS.rtf" Source="..\..\REPORTING-BUGS"/>
+ </Component>
+ <Component>
+ <File Id="HOWTO" Name="HOWTO.rtf" Source="..\..\HOWTO"/>
+ </Component>
+ <Component>
+ <File Id="COPYING" Name="COPYING.rtf" Source="..\..\COPYING"/>
+ </Component>
+ <Directory Id="examples" Name="examples"/>
+ </Directory>
+ </Directory>
+ </Directory>
+ </Directory>
+
+ <Feature Id="AlwaysInstall" Absent="disallow" ConfigurableDirectory="INSTALLDIR" Display="hidden" Level="1" Title="Flexible IO Tester">
+ <ComponentRef Id="fio.exe"/>
+ <ComponentRef Id="pthreadGC2.dll"/>
+ <ComponentRef Id="HOWTO"/>
+ <ComponentRef Id="README"/>
+ <ComponentRef Id="REPORTING_BUGS"/>
+ <ComponentRef Id="COPYING"/>
+ <ComponentGroupRef Id="examples"/>
+ </Feature>
+
+ <Property Id="ARPURLINFOABOUT" Value="http://git.kernel.dk/?p=fio.git" />
+ <Property Id='ARPCONTACT'>fio@vger.kernel.org</Property>
+ <Property Id='ARPHELPLINK'>http://www.spinics.net/lists/fio/</Property>
+ <Property Id='ARPURLUPDATEINFO'>http://git.kernel.dk/?p=fio.git</Property>
+
+ <WixVariable Id="WixUILicenseRtf" Value="eula.rtf" />
+
+ <UIRef Id="WixUI_Minimal"/>
+
+ <MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A newer version of the application is already installed."/>
+</Product>
+</Wix>
-#ifndef ARPA_INET_H\r
-#define ARPA_INET_H\r
-\r
-#include <winsock2.h>\r
-#include <inttypes.h>\r
-\r
-typedef int socklen_t;\r
-\r
-const char *inet_ntop(int af, const void *restrict src,\r
- char *restrict dst, socklen_t size);\r
-int inet_pton(int af, const char *restrict src, void *restrict dst);\r
-\r
-#endif /* ARPA_INET_H */\r
+#ifndef ARPA_INET_H
+#define ARPA_INET_H
+
+#include <winsock2.h>
+#include <inttypes.h>
+
+typedef int socklen_t;
+
+const char *inet_ntop(int af, const void *restrict src,
+ char *restrict dst, socklen_t size);
+int inet_pton(int af, const char *restrict src, void *restrict dst);
+
+#endif /* ARPA_INET_H */
-#ifndef ASM_TYPES_H\r
-#define ASM_TYPES_H\r
-\r
-typedef unsigned short __u16;\r
-typedef unsigned int __u32;\r
-typedef unsigned long long __u64;\r
-\r
-#endif /* ASM_TYPES_H */\r
+#ifndef ASM_TYPES_H
+#define ASM_TYPES_H
+
+typedef unsigned short __u16;
+typedef unsigned int __u32;
+typedef unsigned long long __u64;
+
+#endif /* ASM_TYPES_H */
-#ifndef DIRENT_H\r
-#define DIRENT_H\r
-\r
-#include <windows.h>\r
-\r
-struct dirent\r
-{\r
- ino_t d_ino; /* File serial number */\r
- char d_name[MAX_PATH]; /* Name of entry */\r
-};\r
-\r
-struct dirent_ctx\r
-{\r
- HANDLE find_handle;\r
- char dirname[MAX_PATH];\r
-};\r
-\r
-typedef struct dirent_ctx DIR;\r
-\r
-DIR *opendir(const char *dirname);\r
-struct dirent *readdir(DIR *dirp);\r
-int closedir(DIR *dirp);\r
-\r
-#endif /* DIRENT_H */\r
+#ifndef DIRENT_H
+#define DIRENT_H
+
+#include <windows.h>
+
+struct dirent
+{
+ ino_t d_ino; /* File serial number */
+ char d_name[MAX_PATH]; /* Name of entry */
+};
+
+struct dirent_ctx
+{
+ HANDLE find_handle;
+ char dirname[MAX_PATH];
+};
+
+typedef struct dirent_ctx DIR;
+
+DIR *opendir(const char *dirname);
+struct dirent *readdir(DIR *dirp);
+int closedir(DIR *dirp);
+
+#endif /* DIRENT_H */
-#ifndef DLFCN_H\r
-#define DLFCN_H\r
-\r
-#define RTLD_LAZY 1\r
-\r
-void *dlopen(const char *file, int mode);\r
-int dlclose(void *handle);\r
-void *dlsym(void *restrict handle, const char *restrict name);\r
-char *dlerror(void);\r
-\r
-#endif /* DLFCN_H */\r
+#ifndef DLFCN_H
+#define DLFCN_H
+
+#define RTLD_LAZY 1
+
+void *dlopen(const char *file, int mode);
+int dlclose(void *handle);
+void *dlsym(void *restrict handle, const char *restrict name);
+char *dlerror(void);
+
+#endif /* DLFCN_H */
-#ifndef LIBGEN_H\r
-#define LIBGEN_H\r
-\r
-char *basename(char *path);\r
-\r
-#endif /* LIBGEN_H */\r
+#ifndef LIBGEN_H
+#define LIBGEN_H
+
+char *basename(char *path);
+
+#endif /* LIBGEN_H */
-#ifndef NETDB_H\r
-#define NETDB_H\r
-\r
-#endif /* NETDB_H */\r
+#ifndef NETDB_H
+#define NETDB_H
+
+#endif /* NETDB_H */
-#ifndef NETINET_IN_H\r
-#define NETINET_IN_H\r
-\r
-#include <inttypes.h>\r
-#include <sys/un.h>\r
-\r
-struct in6_addr\r
-{\r
- uint8_t s6_addr[16];\r
-};\r
-\r
-struct sockaddr_in6\r
-{\r
- sa_family_t sin6_family; /* AF_INET6 */\r
- in_port_t sin6_port; /* Port number */\r
- uint32_t sin6_flowinfo; /* IPv6 traffic class and flow information */\r
- struct in6_addr sin6_addr; /* IPv6 address */\r
- uint32_t sin6_scope_id; /* Set of interfaces for a scope */\r
-};\r
-\r
-#endif /* NETINET_IN_H */\r
+#ifndef NETINET_IN_H
+#define NETINET_IN_H
+
+#include <inttypes.h>
+#include <sys/un.h>
+
+struct in6_addr
+{
+ uint8_t s6_addr[16];
+};
+
+struct sockaddr_in6
+{
+ sa_family_t sin6_family; /* AF_INET6 */
+ in_port_t sin6_port; /* Port number */
+ uint32_t sin6_flowinfo; /* IPv6 traffic class and flow information */
+ struct in6_addr sin6_addr; /* IPv6 address */
+ uint32_t sin6_scope_id; /* Set of interfaces for a scope */
+};
+
+#endif /* NETINET_IN_H */
-#ifndef POLL_H\r
-#define POLL_H\r
-\r
-#endif /* POLL_H */\r
+#ifndef POLL_H
+#define POLL_H
+
+#endif /* POLL_H */
-#ifndef SEMAPHORE_H\r
-#define SEMAPHORE_H\r
-\r
-#endif /* SEMAPHORE_H */\r
+#ifndef SEMAPHORE_H
+#define SEMAPHORE_H
+
+#endif /* SEMAPHORE_H */
-#ifndef SYS_IPC_H\r
-#define SYS_IPC_H\r
-\r
-#endif /* SYS_IPC_H */\r
+#ifndef SYS_IPC_H
+#define SYS_IPC_H
+
+#endif /* SYS_IPC_H */
-#ifndef SYS_MMAN_H\r
-#define SYS_MMAN_H\r
-\r
-#include <sys/types.h>\r
-\r
-#define PROT_NONE 0x1\r
-#define PROT_READ 0x2\r
-#define PROT_WRITE 0x4\r
-\r
-#define MAP_ANON 0x1\r
-#define MAP_ANONYMOUS MAP_ANON\r
-#define MAP_FIXED 0x2\r
-#define MAP_HASSEMAPHORE 0x4\r
-#define MAP_INHERIT 0x8\r
-#define MAP_NOCORE 0x10\r
-#define MAP_NOSYNC 0x20\r
-#define MAP_PREFAULT_READ 0x40\r
-#define MAP_PRIVATE 0x80\r
-#define MAP_SHARED 0x100\r
-#define MAP_STACK 0x200\r
-\r
-#define MAP_FAILED NULL\r
-\r
-#define MS_ASYNC 0x1\r
-#define MS_SYNC 0x2\r
-#define MS_INVALIDATE 0x3\r
-\r
-int posix_madvise(void *addr, size_t len, int advice);\r
-void *mmap(void *addr, size_t len, int prot, int flags,\r
- int fildes, off_t off);\r
-int munmap(void *addr, size_t len);\r
-int msync(void *addr, size_t len, int flags);\r
-int munlock(const void * addr, size_t len);\r
-int mlock(const void *addr, size_t len);\r
-\r
-#endif /* SYS_MMAN_H */\r
+#ifndef SYS_MMAN_H
+#define SYS_MMAN_H
+
+#include <sys/types.h>
+
+#define PROT_NONE 0x1
+#define PROT_READ 0x2
+#define PROT_WRITE 0x4
+
+#define MAP_ANON 0x1
+#define MAP_ANONYMOUS MAP_ANON
+#define MAP_FIXED 0x2
+#define MAP_HASSEMAPHORE 0x4
+#define MAP_INHERIT 0x8
+#define MAP_NOCORE 0x10
+#define MAP_NOSYNC 0x20
+#define MAP_PREFAULT_READ 0x40
+#define MAP_PRIVATE 0x80
+#define MAP_SHARED 0x100
+#define MAP_STACK 0x200
+
+#define MAP_FAILED NULL
+
+#define MS_ASYNC 0x1
+#define MS_SYNC 0x2
+#define MS_INVALIDATE 0x3
+
+int posix_madvise(void *addr, size_t len, int advice);
+void *mmap(void *addr, size_t len, int prot, int flags,
+ int fildes, off_t off);
+int munmap(void *addr, size_t len);
+int msync(void *addr, size_t len, int flags);
+int munlock(const void * addr, size_t len);
+int mlock(const void *addr, size_t len);
+
+#endif /* SYS_MMAN_H */
-#ifndef SYS_POLL_H\r
-#define SYS_POLL_H\r
-\r
-typedef int nfds_t;\r
-\r
-struct pollfd\r
-{\r
- int fd;\r
- short events;\r
- short revents;\r
-};\r
-\r
-int poll(struct pollfd fds[], nfds_t nfds, int timeout);\r
-\r
-#endif /* SYS_POLL_H */\r
+#ifndef SYS_POLL_H
+#define SYS_POLL_H
+
+typedef int nfds_t;
+
+struct pollfd
+{
+ int fd;
+ short events;
+ short revents;
+};
+
+int poll(struct pollfd fds[], nfds_t nfds, int timeout);
+
+#endif /* SYS_POLL_H */
-#ifndef SYS_RESOURCE_H\r
-#define SYS_RESOURCE_H\r
-\r
-#define RUSAGE_SELF 0\r
-#define RUSAGE_THREAD 1\r
-\r
-struct rusage\r
-{\r
- struct timeval ru_utime;\r
- struct timeval ru_stime;\r
- int ru_nvcsw;\r
- int ru_minflt;\r
- int ru_majflt;\r
- int ru_nivcsw;\r
-};\r
-\r
-int getrusage(int who, struct rusage *r_usage);\r
-\r
-#endif /* SYS_RESOURCE_H */\r
+#ifndef SYS_RESOURCE_H
+#define SYS_RESOURCE_H
+
+#define RUSAGE_SELF 0
+#define RUSAGE_THREAD 1
+
+struct rusage
+{
+ struct timeval ru_utime;
+ struct timeval ru_stime;
+ int ru_nvcsw;
+ int ru_minflt;
+ int ru_majflt;
+ int ru_nivcsw;
+};
+
+int getrusage(int who, struct rusage *r_usage);
+
+#endif /* SYS_RESOURCE_H */
-#ifndef SYS_SHM_H\r
-#define SYS_SHM_H\r
-\r
-#define IPC_RMID 0x1\r
-#define IPC_CREAT 0x2\r
-#define IPC_PRIVATE 0x4\r
-\r
-typedef int uid_t;\r
-typedef int gid_t;\r
-\r
-typedef int shmatt_t;\r
-typedef int key_t;\r
-\r
-struct ipc_perm\r
-{\r
- uid_t uid; /* owner's user ID */\r
- gid_t gid; /* owner's group ID */\r
- uid_t cuid; /* creator's user ID */\r
- gid_t cgid; /* creator's group ID */\r
- mode_t mode; /* read/write permission */\r
-};\r
-\r
-\r
-struct shmid_ds\r
-{\r
- struct ipc_perm shm_perm; /* operation permission structure */\r
- size_t shm_segsz; /* size of segment in bytes */\r
- pid_t shm_lpid; /* process ID of last shared memory operation */\r
- pid_t shm_cpid; /* process ID of creator */\r
- shmatt_t shm_nattch; /* number of current attaches */\r
- time_t shm_atime; /* time of last shmat() */\r
- time_t shm_dtime; /* time of last shmdt() */\r
- time_t shm_ctime; /* time of last change by shmctl() */\r
-};\r
-\r
-int shmctl(int shmid, int cmd, struct shmid_ds *buf);\r
-int shmget(key_t key, size_t size, int shmflg);\r
-void *shmat(int shmid, const void *shmaddr, int shmflg);\r
-int shmdt(const void *shmaddr);\r
-\r
-#endif /* SYS_SHM_H */\r
+#ifndef SYS_SHM_H
+#define SYS_SHM_H
+
+#define IPC_RMID 0x1
+#define IPC_CREAT 0x2
+#define IPC_PRIVATE 0x4
+
+typedef int uid_t;
+typedef int gid_t;
+
+typedef int shmatt_t;
+typedef int key_t;
+
+struct ipc_perm
+{
+ uid_t uid; /* owner's user ID */
+ gid_t gid; /* owner's group ID */
+ uid_t cuid; /* creator's user ID */
+ gid_t cgid; /* creator's group ID */
+ mode_t mode; /* read/write permission */
+};
+
+
+struct shmid_ds
+{
+ struct ipc_perm shm_perm; /* operation permission structure */
+ size_t shm_segsz; /* size of segment in bytes */
+ pid_t shm_lpid; /* process ID of last shared memory operation */
+ pid_t shm_cpid; /* process ID of creator */
+ shmatt_t shm_nattch; /* number of current attaches */
+ time_t shm_atime; /* time of last shmat() */
+ time_t shm_dtime; /* time of last shmdt() */
+ time_t shm_ctime; /* time of last change by shmctl() */
+};
+
+int shmctl(int shmid, int cmd, struct shmid_ds *buf);
+int shmget(key_t key, size_t size, int shmflg);
+void *shmat(int shmid, const void *shmaddr, int shmflg);
+int shmdt(const void *shmaddr);
+
+#endif /* SYS_SHM_H */
-#ifndef SYS_SOCKET_H\r
-#define SYS_SOCKET_H\r
-\r
-#endif /* SYS_SOCKET_H */\r
+#ifndef SYS_SOCKET_H
+#define SYS_SOCKET_H
+
+#endif /* SYS_SOCKET_H */
-#ifndef SYS_UIO_H\r
-#define SYS_UIO_H\r
-\r
-#include <inttypes.h>\r
-#include <unistd.h>\r
-\r
- struct iovec\r
- {\r
- void *iov_base; /* Base address of a memory region for input or output */\r
- size_t iov_len; /* The size of the memory pointed to by iov_base */\r
-};\r
-\r
- ssize_t readv(int fildes, const struct iovec *iov, int iovcnt);\r
- ssize_t writev(int fildes, const struct iovec *iov, int iovcnt);\r
-\r
-#endif /* SYS_UIO_H */\r
+#ifndef SYS_UIO_H
+#define SYS_UIO_H
+
+#include <inttypes.h>
+#include <unistd.h>
+
+ struct iovec
+ {
+ void *iov_base; /* Base address of a memory region for input or output */
+ size_t iov_len; /* The size of the memory pointed to by iov_base */
+};
+
+ ssize_t readv(int fildes, const struct iovec *iov, int iovcnt);
+ ssize_t writev(int fildes, const struct iovec *iov, int iovcnt);
+
+#endif /* SYS_UIO_H */
-#ifndef SYS_UN_H\r
-#define SYS_UN_H\r
-\r
-typedef int sa_family_t;\r
-typedef int in_port_t;\r
-\r
- struct sockaddr_un\r
- {\r
- sa_family_t sun_family; /* Address family */\r
- char sun_path[]; /* Socket pathname */\r
-};\r
-\r
-#endif /* SYS_UN_H */\r
+#ifndef SYS_UN_H
+#define SYS_UN_H
+
+typedef int sa_family_t;
+typedef int in_port_t;
+
+ struct sockaddr_un
+ {
+ sa_family_t sun_family; /* Address family */
+ char sun_path[]; /* Socket pathname */
+};
+
+#endif /* SYS_UN_H */
-#ifndef SYS_WAIT_H\r
-#define SYS_WAIT_H\r
-\r
-#define WIFSIGNALED(a) 0\r
-#define WIFEXITED(a) 0\r
-#define WTERMSIG(a) 0\r
-#define WEXITSTATUS(a) 0\r
-#define WNOHANG 0\r
-\r
-pid_t waitpid(pid_t, int *stat_loc, int options);\r
-\r
-#endif /* SYS_WAIT_H */\r
+#ifndef SYS_WAIT_H
+#define SYS_WAIT_H
+
+#define WIFSIGNALED(a) 0
+#define WIFEXITED(a) 0
+#define WTERMSIG(a) 0
+#define WEXITSTATUS(a) 0
+#define WNOHANG 0
+
+pid_t waitpid(pid_t, int *stat_loc, int options);
+
+#endif /* SYS_WAIT_H */
-#ifndef SYSLOG_H\r
-#define SYSLOG_H\r
-\r
-int syslog();\r
-\r
-#define LOG_INFO 0x1\r
-#define LOG_ERROR 0x2\r
-#define LOG_WARN 0x4\r
-\r
-#define LOG_NDELAY 0x1\r
-#define LOG_NOWAIT 0x2\r
-#define LOG_PID 0x4\r
-#define LOG_USER 0x8\r
-\r
-void closelog(void);\r
-void openlog(const char *ident, int logopt, int facility);\r
-\r
-#endif /* SYSLOG_H */\r
+#ifndef SYSLOG_H
+#define SYSLOG_H
+
+int syslog();
+
+#define LOG_INFO 0x1
+#define LOG_ERROR 0x2
+#define LOG_WARN 0x4
+
+#define LOG_NDELAY 0x1
+#define LOG_NOWAIT 0x2
+#define LOG_PID 0x4
+#define LOG_USER 0x8
+
+void closelog(void);
+void openlog(const char *ident, int logopt, int facility);
+
+#endif /* SYSLOG_H */