Merge branch 'master' into gfio
authorJens Axboe <axboe@kernel.dk>
Thu, 21 Feb 2013 19:13:57 +0000 (20:13 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 21 Feb 2013 19:13:57 +0000 (20:13 +0100)
29 files changed:
FIO-VERSION-GEN
README
arch/arch-ia64.h
arch/arch-x86.h
filesetup.c
gettime.c
lib/axmap.c
os/os-freebsd.h
os/windows/examples.wxs
os/windows/install.wxs
os/windows/posix/include/arpa/inet.h
os/windows/posix/include/asm/types.h
os/windows/posix/include/dirent.h
os/windows/posix/include/dlfcn.h
os/windows/posix/include/libgen.h
os/windows/posix/include/netdb.h
os/windows/posix/include/netinet/in.h
os/windows/posix/include/poll.h
os/windows/posix/include/semaphore.h
os/windows/posix/include/sys/ipc.h
os/windows/posix/include/sys/mman.h
os/windows/posix/include/sys/poll.h
os/windows/posix/include/sys/resource.h
os/windows/posix/include/sys/shm.h
os/windows/posix/include/sys/socket.h
os/windows/posix/include/sys/uio.h
os/windows/posix/include/sys/un.h
os/windows/posix/include/sys/wait.h
os/windows/posix/include/syslog.h

index 85e4cda..85e6f4a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=FIO-VERSION-FILE
-DEF_VER=fio-2.0.13
+DEF_VER=fio-2.0.14
 
 LF='
 '
diff --git a/README b/README
index 4173237..4f796e3 100644 (file)
--- a/README
+++ b/README
@@ -39,11 +39,6 @@ Starting with Ubuntu 10.04 LTS (aka "Lucid Lynx"), fio packages are part
 of the Ubuntu "universe" repository.
 http://packages.ubuntu.com/search?keywords=fio
 
-SUSE:
-Pascal Bleser <guru@unixtech.be> has fio RPMs in his repository for SUSE
-variants, you can find them here:
-http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=System/fio
-
 Red Hat, CentOS & Co:
 Dag WieĆ«rs has RPMs for Red Hat related distros, find them here:
 http://dag.wieers.com/rpm/packages/fio/
@@ -59,7 +54,7 @@ tool (http://www.opencsw.org/get-it/pkgutil/) and then install fio via
 
 Windows:
 Bruce Cran <bruce@cran.org.uk> has fio packages for Windows at
-http://www.bluestop.org/fio .
+http://www.bluestop.org/fio/ .
 
 
 Mailing list
@@ -128,6 +123,11 @@ How to compile FIO on 64-bit Windows:
 To build fio on 32-bit Windows, download x86/pthreadGC2.dll instead and do
 './configure --build-32bit-win=yes' before 'make'.
 
+It's recommended that once built or installed, fio be run in a Command Prompt
+or other 'native' console such as console2, since there are known to be display
+and signal issues when running it under a Cygwin shell
+(see http://code.google.com/p/mintty/issues/detail?id=56 for details).
+
 
 Command line
 ------------
index 2df55ba..8e8dd7f 100644 (file)
@@ -34,9 +34,9 @@ static inline unsigned long arch_ffz(unsigned long bitmask)
        return ia64_popcnt(bitmask & (~bitmask - 1));
 }
 
-static inline unsigned long get_cpu_clock(void)
+static inline unsigned long long get_cpu_clock(void)
 {
-       unsigned long ret;
+       unsigned long long ret;
 
        __asm__ __volatile__("mov %0=ar.itc" : "=r" (ret) : : "memory");
        return ret;
index 679ec28..8eea538 100644 (file)
@@ -34,7 +34,7 @@ static inline unsigned long arch_ffz(unsigned long bitmask)
 
 static inline unsigned long long get_cpu_clock(void)
 {
-       unsigned long ret;
+       unsigned long long ret;
 
        __asm__ __volatile__("rdtsc" : "=A" (ret));
        return ret;
index 3054d9d..4e82854 100644 (file)
@@ -958,8 +958,8 @@ int init_random_map(struct thread_data *td)
        for_each_file(td, f, i) {
                uint64_t file_size = min(f->real_file_size, f->io_size);
 
-               blocks = (file_size + td->o.rw_min_bs - 1) /
-                               (unsigned long long) td->o.rw_min_bs;
+               blocks = file_size / (unsigned long long) td->o.rw_min_bs;
+
                if (td->o.random_generator == FIO_RAND_GEN_LFSR) {
                        unsigned long seed;
 
index cc9dcb7..5b85a23 100644 (file)
--- a/gettime.c
+++ b/gettime.c
@@ -501,6 +501,7 @@ int fio_monotonic_clocktest(void)
        unsigned int nr_cpus = cpus_online();
        struct clock_entry *entries;
        unsigned long tentries, failed;
+       struct clock_entry *prev, *this;
        uint64_t seq = 0;
        int i;
 
@@ -558,7 +559,7 @@ int fio_monotonic_clocktest(void)
        qsort(entries, tentries, sizeof(struct clock_entry), clock_cmp);
 
        for (failed = i = 0; i < tentries; i++) {
-               struct clock_entry *prev, *this = &entries[i];
+               this = &entries[i];
 
                if (!i) {
                        prev = this;
index 533a155..eeb32d4 100644 (file)
@@ -374,9 +374,9 @@ static int axmap_next_free_fn(struct axmap_level *al, unsigned long offset,
                               unsigned int bit, void *__data)
 {
        struct axmap_next_free_data *data = __data;
-       uint64_t mask = ~((1UL << ((data->bit & BLOCKS_PER_UNIT_MASK) + 1)) - 1);
+       uint64_t mask = ~bit_masks[(data->bit + 1) & BLOCKS_PER_UNIT_MASK];
 
-       if (!(mask & al->map[offset]))
+       if (!(mask & ~al->map[offset]))
                return 0;
 
        if (al->map[offset] != -1UL) {
@@ -395,6 +395,7 @@ static int axmap_next_free_fn(struct axmap_level *al, unsigned long offset,
 uint64_t axmap_next_free(struct axmap *axmap, uint64_t bit_nr)
 {
        struct axmap_next_free_data data = { .level = -1U, .bit = bit_nr, };
+       uint64_t ret;
 
        if (firstfree_valid(axmap) && bit_nr < axmap->first_free)
                return axmap->first_free;
@@ -404,5 +405,14 @@ uint64_t axmap_next_free(struct axmap *axmap, uint64_t bit_nr)
 
        assert(data.level != -1U);
 
-       return axmap_find_first_free(axmap, data.level, data.offset);
+       /*
+        * In the rare case that the map is unaligned, we might end up
+        * finding an offset that's beyond the valid end. For that case,
+        * find the first free one, the map is practically full.
+        */
+       ret = axmap_find_first_free(axmap, data.level, data.offset);
+       if (ret != -1ULL)
+               return ret;
+
+       return axmap_first_free(axmap);
 }
index c55a7c3..57ce409 100644 (file)
@@ -8,6 +8,8 @@
 #include <sys/disk.h>
 #include <sys/thr.h>
 #include <sys/socket.h>
+#include <sys/param.h>
+#include <sys/cpuset.h>
 
 #include "../file.h"
 
@@ -16,6 +18,7 @@
 #define FIO_USE_GENERIC_INIT_RANDOM_STATE
 #define FIO_HAVE_CHARDEV_SIZE
 #define FIO_HAVE_GETTID
+#define FIO_HAVE_CPU_AFFINITY
 
 #define OS_MAP_ANON            MAP_ANON
 
 
 typedef off_t off64_t;
 
+typedef cpuset_t os_cpu_mask_t;
+
+#define fio_cpu_clear(mask, cpu)        (void) CPU_CLR((cpu), (mask))
+#define fio_cpu_set(mask, cpu)          (void) CPU_SET((cpu), (mask))
+
+static inline int fio_cpuset_init(os_cpu_mask_t *mask)
+{
+        CPU_ZERO(mask);
+        return 0;
+}
+
+static inline int fio_cpuset_exit(os_cpu_mask_t *mask)
+{
+        return 0;
+}
+
+static inline int fio_setaffinity(int pid, os_cpu_mask_t cpumask)
+{
+       return cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, pid, sizeof(cpumask), &cpumask);
+}
+
+static inline int fio_getaffinity(int pid, os_cpu_mask_t *cpumask)
+{
+       return cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, pid, sizeof(cpumask), cpumask);
+}
+
+#define FIO_MAX_CPUS                    CPU_SETSIZE
+
 static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes)
 {
        off_t size;
index 84f2a86..7717309 100755 (executable)
@@ -1,75 +1,75 @@
-<?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>
index b43120a..5b4b939 100755 (executable)
@@ -1,71 +1,71 @@
-<?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.14">
+               <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>
index df9e278..7e3bfb7 100644 (file)
@@ -1,13 +1,13 @@
-#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 */
index 89ab3d0..7e1489a 100644 (file)
@@ -1,8 +1,8 @@
-#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 */
index eef6a88..379fdf0 100644 (file)
@@ -1,24 +1,24 @@
-#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 */
index aaffb52..57f2930 100644 (file)
@@ -1,11 +1,11 @@
-#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 */
index 9d97c25..5c4fb23 100644 (file)
@@ -1,6 +1,6 @@
-#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 */
index 237288b..5dace16 100644 (file)
@@ -1,4 +1,4 @@
-#ifndef NETDB_H\r
-#define NETDB_H\r
-\r
-#endif /* NETDB_H */\r
+#ifndef NETDB_H
+#define NETDB_H
+
+#endif /* NETDB_H */
index 814a30e..b58c209 100644 (file)
@@ -1,21 +1,21 @@
-#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 */
index f5c47e7..058e23a 100644 (file)
@@ -1,4 +1,4 @@
-#ifndef POLL_H\r
-#define POLL_H\r
-\r
-#endif /* POLL_H */\r
+#ifndef POLL_H
+#define POLL_H
+
+#endif /* POLL_H */
index d58f899..39cd624 100644 (file)
@@ -1,4 +1,4 @@
-#ifndef SEMAPHORE_H\r
-#define SEMAPHORE_H\r
-\r
-#endif /* SEMAPHORE_H */\r
+#ifndef SEMAPHORE_H
+#define SEMAPHORE_H
+
+#endif /* SEMAPHORE_H */
index 2601a53..abf26e8 100644 (file)
@@ -1,4 +1,4 @@
-#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 */
index ea139ee..8edd9fc 100644 (file)
@@ -1,36 +1,36 @@
-#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 */
index e1626b2..f009d6e 100644 (file)
@@ -1,15 +1,15 @@
-#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 */
index fd46b28..aa95705 100644 (file)
@@ -1,19 +1,19 @@
-#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 */
index 6ed5957..c059274 100644 (file)
@@ -1,41 +1,41 @@
-#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 */
index eef3b45..4da6f2f 100644 (file)
@@ -1,4 +1,4 @@
-#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 */
index 077550c..25f83d6 100644 (file)
@@ -1,16 +1,16 @@
-#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 */
index 64e57a5..b9ea630 100644 (file)
@@ -1,13 +1,13 @@
-#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 */
index 9e68d54..5b8fd3a 100644 (file)
@@ -1,12 +1,12 @@
-#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 */
index 172261c..b8582e9 100644 (file)
@@ -1,18 +1,18 @@
-#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 */