RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  [email protected]
  Module: rpm                              Date:   04-Jul-2017 05:14:16
  Branch: rpm-5_4                          Handle: 2017070403141600

  Modified files:           (Branch: rpm-5_4)
    rpm/rpmio               rpmeio.c rpmeio.h

  Log:
    - rpmeio: permit building --without-libeio.

  Summary:
    Revision    Changes     Path
    1.1.2.11    +282 -154   rpm/rpmio/rpmeio.c
    1.1.2.9     +48 -50     rpm/rpmio/rpmeio.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmeio.c
  ============================================================================
  $ cvs diff -u -r1.1.2.10 -r1.1.2.11 rpmeio.c
  --- rpm/rpmio/rpmeio.c        21 Jun 2017 09:09:37 -0000      1.1.2.10
  +++ rpm/rpmio/rpmeio.c        4 Jul 2017 03:14:16 -0000       1.1.2.11
  @@ -1,19 +1,140 @@
   #include "system.h"
   
  +#if defined(WITH_LIBEV)
  +
   #if defined(HAVE_EV_H)
   # include <ev.h>
   #endif
   
  +#else        /* WITH_LIBEV */
  +
  +/* XXX stub in enough to include rpmev.h */
  +#define      EV_P_           void * loop,
  +#define      EV_A_           NULL,
  +#define      EV_DEFAULT      ev_default_loop(0)
  +#define      EVFLAG_AUTO     0
  +#define      EVRUN_ONCE      2
  +
  +typedef      struct ev_watcher       ev_idle;
  +typedef      struct ev_watcher       ev_async;
  +
  +struct ev_watcher {
  +    int active;
  +    int pending;
  +    int priority;
  +    void * data;
  +    void (*cb)(EV_P_ void *w, int revents);
  +};
  +
  +union ev_any_watcher
  +{
  +    struct ev_watcher w;
  +    struct ev_watcher async;
  +};
  +
  +#define      ev_default_loop(_a)     NULL
  +
  +#define      ev_userdata(_x)         NULL
  +
  +#define      ev_set_userdata(_x, y)
  +
  +#define      ev_idle_stop(_w)        (void)_w
  +#define      ev_async_send(_l, _w)   (void)_w
  +#define      ev_run(_a, _b)
  +#define      ev_loop_destroy(_a)
  +
  +#endif       /* WITH_LIBEV */
  +
  +#if defined(WITH_LIBEIO)
  +
  +#if defined(HAVE_EIO_H)
  +# include <eio.h>
  +#endif
  +
  +#else        /* WITH_LIBEIO */
  +
  +typedef struct eio_req               eio_req;
  +typedef int (*eio_cb)(eio_req *req);
  +
  +typedef struct eio_pwd *     eio_wd;
  +typedef double                       eio_tstamp;
  +typedef int                  eio_uid_t;
  +typedef int                  eio_gid_t;
  +typedef ssize_t                      eio_ssize_t;
  +
  +/* XXX stub in enough to include rpmeio.h */
  +struct eio_req
  +{
  +    eio_req volatile *next;  /* private ETP */
  +    eio_wd wd;               /* all applicable requests: working directory 
of pathname, old name; wd_open: return wd */
  +    eio_ssize_t result;      /* result of syscall, e.g. result = read (... */
  +    off_t offs;              /* read, write, truncate, readahead, 
sync_file_range, fallocate: file offset, mknod: dev_t */
  +    size_t size;     /* read, write, readahead, sendfile, msync, mlock, 
sync_file_range, fallocate: length */
  +    void *ptr1;              /* all applicable requests: pathname, old name; 
readdir: optional eio_dirents */
  +    void *ptr2;              /* all applicable requests: new name or memory 
buffer; readdir: name strings */
  +    eio_tstamp nv1;  /* utime, futime: atime; busy: sleep time */
  +    eio_tstamp nv2;  /* utime, futime: mtime */
  +
  +    int int1;                /* all applicable requests: file descriptor; 
sendfile: output fd; open, msync, mlockall, readdir: flags */
  +    long int2;               /* chown, fchown: uid; sendfile: input fd; 
open, chmod, mkdir, mknod: file mode, seek: whence, sync_file_range, fallocate: 
flags */
  +    long int3;               /* chown, fchown: gid; rename, link: working 
directory of new name */
  +    int errorno;     /* errno value on syscall return */
  +
  +    signed char type;        /* EIO_xxx constant ETP */
  +
  +    unsigned char cancelled; /* ETP */
  +
  +    unsigned char flags;     /* private */
  +#define      EIO_FLAG_PTR1_FREE      0x01
  +#define      EIO_FLAG_PTR2_FREE      0x02
  +
  +    signed char pri; /* the priority */
  +#define      EIO_PRI_MIN             -4
  +#define      EIO_PRI_MAX             4
  +#define      EIO_PRI_DEFAULT         0
  +
  +    void *data;
  +    eio_cb finish;
  +    void (*destroy)(eio_req *req); /* called when request no longer needed */
  +    void (*feed)(eio_req *req);    /* only used for group requests */
  +
  +    eio_req *grp, *grp_prev, *grp_next, *grp_first; /* private ETP */
  +};
  +
  +#define      eio_poll()              -1
  +#define      eio_nthreads()          0
  +#define      eio_nready()            0
  +#define      eio_nreqs()             0
  +#define      eio_npending()          0
  +#define      eio_init(_a, _b)        -1
  +#define      eio_cancel(_a)
  +#define      eio_submit(_a)
  +
  +#define      eio_set_max_poll_time(max_poll_time);
  +#define      eio_set_max_poll_reqs(max_poll_reqs);
  +#define      eio_set_min_parallel(min_parallel);
  +#define      eio_set_max_parallel(max_parallel);
  +#define      eio_set_max_idle(max_idle);
  +#define      eio_set_idle_timeout(idle_timeout);
  +
  +#define EIO_RESULT(req)              ((req)->result)
  +#define EIO_BUF(req)         ((req)->ptr2)
  +#define EIO_STAT_BUF(req)    (void *)EIO_BUF(req)
  +#define EIO_STATVFS_BUF(req) (void *)EIO_BUF(req)
  +#define EIO_PATH(req)                ((char *)(req)->ptr1)
  +
  +#endif       /* WITH_LIBEIO */
  +
   #include <rpmio.h>
   #include <rpmzlog.h>
   #include <poptIO.h>
   
  -#define      _RPMEIO_INTERNAL
  -#include <rpmeio.h>
  -
   #define      _RPMEV_INTERNAL
   #include <rpmev.h>
   
  +#define      _RPMEIO_INTERNAL
  +#include <rpmeio.h>
  +
   #include "debug.h"
   
   int _rpmeio_debug = -1;
  @@ -32,53 +153,53 @@
   const char * rpmeioReqType(int reqtype)
   {
       switch (reqtype) {
  -    case EIO_CUSTOM:         return("EIO_CUSTOM");
  -    case EIO_WD_OPEN:                return("EIO_WD_OPEN");
  -    case EIO_WD_CLOSE:               return("EIO_WD_CLOSE");
  -    case EIO_CLOSE:          return("EIO_CLOSE");
  -    case EIO_DUP2:           return("EIO_DUP2");
  -    case EIO_SEEK:           return("EIO_SEEK");
  -    case EIO_READ:           return("EIO_READ");
  -    case EIO_WRITE:          return("EIO_WRITE");
  -    case EIO_READAHEAD:              return("EIO_READAHEAD");
  -    case EIO_SENDFILE:               return("EIO_SENDFILE");
  -    case EIO_FSTAT:          return("EIO_FSTAT");
  -    case EIO_FSTATVFS:               return("EIO_FSTATVFS");
  -    case EIO_FTRUNCATE:              return("EIO_FTRUNCATE");
  -    case EIO_FUTIME:         return("EIO_FUTIME");
  -    case EIO_FCHMOD:         return("EIO_FCHMOD");
  -    case EIO_FCHOWN:         return("EIO_FCHOWN");
  -    case EIO_SYNC:           return("EIO_SYNC");
  -    case EIO_FSYNC:          return("EIO_FSYNC");
  -    case EIO_FDATASYNC:              return("EIO_FDATASYNC");
  -    case EIO_SYNCFS:         return("EIO_SYNCFS");
  -    case EIO_MSYNC:          return("EIO_MSYNC");
  -    case EIO_MTOUCH:         return("EIO_MTOUCH");
  -    case EIO_SYNC_FILE_RANGE:        return("EIO_SYNC_FILE_RANGE");
  -    case EIO_FALLOCATE:              return("EIO_FALLOCATE");
  -    case EIO_MLOCK:          return("EIO_MLOCK");
  -    case EIO_MLOCKALL:               return("EIO_MLOCKALL");
  -    case EIO_GROUP:          return("EIO_GROUP");
  -    case EIO_NOP:            return("EIO_NOP");
  -    case EIO_BUSY:           return("EIO_BUSY");
  -    case EIO_REALPATH:               return("EIO_REALPATH");
  -    case EIO_READDIR:                return("EIO_READDIR");
  -    case EIO_OPEN:           return("EIO_OPEN");
  -    case EIO_STAT:           return("EIO_STAT");
  -    case EIO_LSTAT:          return("EIO_LSTAT");
  -    case EIO_STATVFS:                return("EIO_STATVFS");
  -    case EIO_TRUNCATE:               return("EIO_TRUNCATE");
  -    case EIO_UTIME:          return("EIO_UTIME");
  -    case EIO_CHMOD:          return("EIO_CHMOD");
  -    case EIO_CHOWN:          return("EIO_CHOWN");
  -    case EIO_UNLINK:         return("EIO_UNLINK");
  -    case EIO_RMDIR:          return("EIO_RMDIR");
  -    case EIO_MKDIR:          return("EIO_MKDIR");
  -    case EIO_RENAME:         return("EIO_RENAME");
  -    case EIO_MKNOD:          return("EIO_MKNOD");
  -    case EIO_LINK:           return("EIO_LINK");
  -    case EIO_SYMLINK:                return("EIO_SYMLINK");
  -    case EIO_READLINK:               return("EIO_READLINK");
  +    case RPMEIO_CUSTOM:              return("EIO_CUSTOM");
  +    case RPMEIO_WD_OPEN:     return("EIO_WD_OPEN");
  +    case RPMEIO_WD_CLOSE:    return("EIO_WD_CLOSE");
  +    case RPMEIO_CLOSE:               return("EIO_CLOSE");
  +    case RPMEIO_DUP2:                return("EIO_DUP2");
  +    case RPMEIO_SEEK:                return("EIO_SEEK");
  +    case RPMEIO_READ:                return("EIO_READ");
  +    case RPMEIO_WRITE:               return("EIO_WRITE");
  +    case RPMEIO_READAHEAD:   return("EIO_READAHEAD");
  +    case RPMEIO_SENDFILE:    return("EIO_SENDFILE");
  +    case RPMEIO_FSTAT:               return("EIO_FSTAT");
  +    case RPMEIO_FSTATVFS:    return("EIO_FSTATVFS");
  +    case RPMEIO_FTRUNCATE:   return("EIO_FTRUNCATE");
  +    case RPMEIO_FUTIME:              return("EIO_FUTIME");
  +    case RPMEIO_FCHMOD:              return("EIO_FCHMOD");
  +    case RPMEIO_FCHOWN:              return("EIO_FCHOWN");
  +    case RPMEIO_SYNC:                return("EIO_SYNC");
  +    case RPMEIO_FSYNC:               return("EIO_FSYNC");
  +    case RPMEIO_FDATASYNC:   return("EIO_FDATASYNC");
  +    case RPMEIO_SYNCFS:              return("EIO_SYNCFS");
  +    case RPMEIO_MSYNC:               return("EIO_MSYNC");
  +    case RPMEIO_MTOUCH:              return("EIO_MTOUCH");
  +    case RPMEIO_SYNC_FILE_RANGE: return("EIO_SYNC_FILE_RANGE");
  +    case RPMEIO_FALLOCATE:   return("EIO_FALLOCATE");
  +    case RPMEIO_MLOCK:               return("EIO_MLOCK");
  +    case RPMEIO_MLOCKALL:    return("EIO_MLOCKALL");
  +    case RPMEIO_GROUP:               return("EIO_GROUP");
  +    case RPMEIO_NOP:         return("EIO_NOP");
  +    case RPMEIO_BUSY:                return("EIO_BUSY");
  +    case RPMEIO_REALPATH:    return("EIO_REALPATH");
  +    case RPMEIO_READDIR:     return("EIO_READDIR");
  +    case RPMEIO_OPEN:                return("EIO_OPEN");
  +    case RPMEIO_STAT:                return("EIO_STAT");
  +    case RPMEIO_LSTAT:               return("EIO_LSTAT");
  +    case RPMEIO_STATVFS:     return("EIO_STATVFS");
  +    case RPMEIO_TRUNCATE:    return("EIO_TRUNCATE");
  +    case RPMEIO_UTIME:               return("EIO_UTIME");
  +    case RPMEIO_CHMOD:               return("EIO_CHMOD");
  +    case RPMEIO_CHOWN:               return("EIO_CHOWN");
  +    case RPMEIO_UNLINK:              return("EIO_UNLINK");
  +    case RPMEIO_RMDIR:               return("EIO_RMDIR");
  +    case RPMEIO_MKDIR:               return("EIO_MKDIR");
  +    case RPMEIO_RENAME:              return("EIO_RENAME");
  +    case RPMEIO_MKNOD:               return("EIO_MKNOD");
  +    case RPMEIO_LINK:                return("EIO_LINK");
  +    case RPMEIO_SYMLINK:     return("EIO_SYMLINK");
  +    case RPMEIO_READLINK:    return("EIO_READLINK");
       }
       return ("?EIO_TYPE?");
   }
  @@ -206,8 +327,9 @@
       rpmzLog zlog = evl->zlog;
   ZSPEW("--> %s(%p, %p, %d)", __FUNCTION__, loop, w, revents);
   
  -    if (eio_poll() != -1)
  +    if (eio_poll() != -1) {
        ev_idle_stop (EV_A_ w);
  +    }
   }
   
   /* eio has some results, process them */
  @@ -301,18 +423,24 @@
   
   SPEW("<-- %s() evl %p loop %p", __FUNCTION__, evl, evl->loop);
       }
  -    if (max_poll_time > 0.0)
  +    if (max_poll_time > 0.0) {
        eio_set_max_poll_time(max_poll_time);
  -    if (max_poll_reqs)
  +    }
  +    if (max_poll_reqs) {
        eio_set_max_poll_reqs(max_poll_reqs);
  -    if (min_parallel)
  +    }
  +    if (min_parallel) {
        eio_set_min_parallel(min_parallel);
  -    if (max_parallel)
  +    }
  +    if (max_parallel) {
        eio_set_max_parallel(max_parallel);
  -    if (max_idle)
  +    }
  +    if (max_idle) {
        eio_set_max_idle(max_idle);
  -    if (idle_timeout)
  +    }
  +    if (idle_timeout) {
        eio_set_idle_timeout(idle_timeout);
  +    }
       evl->flags = flags;
       evl->zlog = (_rpmeio_debug || _rpmio_debug) ? rpmzLogNew(NULL) : NULL;
   
  @@ -435,8 +563,8 @@
   
       if (req->result >= 0)
       switch (req->type) {
  -    case EIO_READLINK:
  -    case EIO_REALPATH:
  +    case RPMEIO_READLINK:
  +    case RPMEIO_REALPATH:
       {
        char * b = (char *) EIO_BUF(req);
        b[req->result] = '\0';
  @@ -494,7 +622,7 @@
   ZSPEW("--> %s(%s|%p) res %ld eio %p", __FUNCTION__, REQ_TYPE(req), 
REQ_DATA(req), EIO_RESULT(req), eio);
   rpmeioDumpREQ(__FUNCTION__, req, NULL);
   
  -    if (req->type == EIO_FSTAT) {
  +    if (req->type == RPMEIO_FSTAT) {
        SPEW("\tfstat = %ld", EIO_RESULT(req));
       } else {
        SPEW("\tstat(%s) = %ld", EIO_PATH(req), EIO_RESULT(req));
  @@ -561,7 +689,7 @@
       eio_cb cb = rpmeioCB;
       void * data = NULL;
   
  -    if (reqtype >= EIO_REQ_TYPE_NUM)
  +    if (reqtype >= RPMEIO_REQ_TYPE_NUM)
        goto exit;
   
       eio = rpmeioNew(reqtype);
  @@ -573,42 +701,42 @@
       va_start(ap, reqtype);
   
       switch (reqtype) {
  -    case EIO_CUSTOM:
  +    case RPMEIO_CUSTOM:
        req->feed = va_arg(ap, void (*) (eio_req *));
        cb = rpmeioCB;          /* XXX */
        data = "custom";
        break;
  -    case EIO_WD_OPEN:
  +    case RPMEIO_WD_OPEN:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
        cb = rpmeioCB;          /* XXX */
        data = "wd_open";
        break;
  -    case EIO_WD_CLOSE:
  +    case RPMEIO_WD_CLOSE:
        req->wd = va_arg(ap, eio_wd);
        cb = rpmeioCB;          /* XXX */
        data = "wd_close";
        break;
  -    case EIO_CLOSE:
  +    case RPMEIO_CLOSE:
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;
        data = "close";
        break;
  -    case EIO_DUP2:
  +    case RPMEIO_DUP2:
        req->int1 = va_arg(ap, int);
        req->int2 = va_arg(ap, int);
        cb = rpmeioCB;
        data = "dup2";
        break;
  -    case EIO_SEEK:
  +    case RPMEIO_SEEK:
        req->int1 = va_arg(ap, int);
        req->offs = va_arg(ap, off_t);
        req->int2 = va_arg(ap, int);
        cb = rpmeioCB;          /* XXX */
        data = "seek";
        break;
  -    case EIO_READ:
  +    case RPMEIO_READ:
        req->int1 = va_arg(ap, int);
        req->ptr2 = va_arg(ap, void *);
        req->size = va_arg(ap, size_t);
  @@ -616,7 +744,7 @@
        cb = rpmeioCB_read;
        data = "read";
        break;
  -    case EIO_WRITE:
  +    case RPMEIO_WRITE:
        req->int1 = va_arg(ap, int);
        req->ptr2 = va_arg(ap, void *);
        req->size = va_arg(ap, size_t);
  @@ -624,14 +752,14 @@
        cb = rpmeioCB;
        data = "write";
        break;
  -    case EIO_READAHEAD:
  +    case RPMEIO_READAHEAD:
        req->int1 = va_arg(ap, int);
        req->offs = va_arg(ap, off_t);
        req->size = va_arg(ap, size_t);
        cb = rpmeioCB;
        data = "readahead";
        break;
  -    case EIO_SENDFILE:
  +    case RPMEIO_SENDFILE:
        req->int1 = va_arg(ap, int);
        req->int2 = va_arg(ap, int);
        req->offs = va_arg(ap, off_t);
  @@ -639,76 +767,76 @@
        cb = rpmeioCB;
        data = "sendfile";
        break;
  -    case EIO_FSTAT:
  +    case RPMEIO_FSTAT:
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB_stat;
        data = "fstat";
        break;
  -    case EIO_FSTATVFS:
  +    case RPMEIO_FSTATVFS:
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;          /* XXX */
        data = "statvfs";
        break;
  -    case EIO_FTRUNCATE:
  +    case RPMEIO_FTRUNCATE:
        req->int1 = va_arg(ap, int);
        req->offs = va_arg(ap, off_t);
        cb = rpmeioCB;
        data = "ftruncate";
        break;
  -    case EIO_FUTIME:
  +    case RPMEIO_FUTIME:
        req->int1 = va_arg(ap, int);
        req->nv1 = va_arg(ap, eio_tstamp);
        req->nv2 = va_arg(ap, eio_tstamp);
        cb = rpmeioCB;
        data = "futime";
        break;
  -    case EIO_FCHMOD:
  +    case RPMEIO_FCHMOD:
        req->int1 = va_arg(ap, int);
        req->int2 = va_arg(ap, mode_t);
        cb = rpmeioCB;
        data = "fchmod";
        break;
  -    case EIO_FCHOWN:
  +    case RPMEIO_FCHOWN:
        req->int1 = va_arg(ap, int);
        req->int2 = va_arg(ap, uid_t);
        req->int3 = va_arg(ap, gid_t);
        cb = rpmeioCB;
        data = "fchown";
        break;
  -    case EIO_SYNC:
  +    case RPMEIO_SYNC:
        cb = rpmeioCB;
        data = "sync";
        break;
  -    case EIO_FSYNC:
  +    case RPMEIO_FSYNC:
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;
        data = "fsync";
        break;
  -    case EIO_FDATASYNC:
  +    case RPMEIO_FDATASYNC:
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;
        data = "fdatasync";
        break;
  -    case EIO_SYNCFS:
  +    case RPMEIO_SYNCFS:
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;          /* XXX */
        data = "syncfs";
        break;
  -    case EIO_MSYNC:
  +    case RPMEIO_MSYNC:
        req->ptr2 = va_arg(ap, void *);
        req->size = va_arg(ap, size_t);
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;          /* XXX */
        data = "msync";
        break;
  -    case EIO_MTOUCH:
  +    case RPMEIO_MTOUCH:
        req->ptr2 = va_arg(ap, void *);
        req->size = va_arg(ap, size_t);
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;          /* XXX */
        data = "mtouch";
        break;
  -    case EIO_SYNC_FILE_RANGE:
  +    case RPMEIO_SYNC_FILE_RANGE:
        req->int1 = va_arg(ap, int);
        req->offs = va_arg(ap, off_t);
        req->size = va_arg(ap, size_t);
  @@ -716,7 +844,7 @@
        cb = rpmeioCB;          /* XXX */
        data = "sync_file_range";
        break;
  -    case EIO_FALLOCATE:
  +    case RPMEIO_FALLOCATE:
        req->int1 = va_arg(ap, int);
        req->int2 = va_arg(ap, mode_t);
        req->offs = va_arg(ap, off_t);
  @@ -724,39 +852,39 @@
        cb = rpmeioCB;          /* XXX */
        data = "fallocate";
        break;
  -    case EIO_MLOCK:
  +    case RPMEIO_MLOCK:
        req->ptr2 = va_arg(ap, void *);
        req->size = va_arg(ap, size_t);
        cb = rpmeioCB;          /* XXX */
        data = "mlock";
        break;
  -    case EIO_MLOCKALL:
  +    case RPMEIO_MLOCKALL:
        req->int1 = va_arg(ap, int);
        cb = rpmeioCB;          /* XXX */
        data = "mlockall";
        break;
  -    case EIO_GROUP:
  +    case RPMEIO_GROUP:
        cb = rpmeioCB;          /* XXX */
        data = "group";
        pri = EIO_PRI_MAX;      /* XXX */
        break;
  -    case EIO_NOP:
  +    case RPMEIO_NOP:
        cb = rpmeioCB;
        data = "nop";
        break;
  -    case EIO_BUSY:
  +    case RPMEIO_BUSY:
        req->nv1 = va_arg(ap, eio_tstamp);
        cb = rpmeioCB;
        data = "busy";
        break;
  -    case EIO_REALPATH:
  +    case RPMEIO_REALPATH:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
        cb = rpmeioCB;          /* XXX */
        data = "realpath";
        break;
  -    case EIO_READDIR:
  +    case RPMEIO_READDIR:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -764,7 +892,7 @@
        cb = rpmeioCB_readdir;
        data = "readdir";
        break;
  -    case EIO_OPEN:
  +    case RPMEIO_OPEN:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -773,28 +901,28 @@
        cb = rpmeioCB_open;
        data = "open";
        break;
  -    case EIO_STAT:
  +    case RPMEIO_STAT:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
        cb = rpmeioCB_stat;
        data = "stat";
        break;
  -    case EIO_LSTAT:
  +    case RPMEIO_LSTAT:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
        cb = rpmeioCB_stat;
        data = "lstat";
        break;
  -    case EIO_STATVFS:
  +    case RPMEIO_STATVFS:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
        cb = rpmeioCB;          /* XXX */
        data = "statvfs";
        break;
  -    case EIO_TRUNCATE:
  +    case RPMEIO_TRUNCATE:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -802,7 +930,7 @@
        cb = rpmeioCB;
        data = "truncate";
        break;
  -    case EIO_UTIME:
  +    case RPMEIO_UTIME:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -811,7 +939,7 @@
        cb = rpmeioCB;
        data = "utime";
        break;
  -    case EIO_CHMOD:
  +    case RPMEIO_CHMOD:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -819,7 +947,7 @@
        cb = rpmeioCB;          /* XXX */
        data = "chmod";
        break;
  -    case EIO_CHOWN:
  +    case RPMEIO_CHOWN:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -828,21 +956,21 @@
        cb = rpmeioCB;
        data = "chown";
        break;
  -    case EIO_UNLINK:
  +    case RPMEIO_UNLINK:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
        cb = rpmeioCB;
        data = "unlink";
        break;
  -    case EIO_RMDIR:
  +    case RPMEIO_RMDIR:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
        cb = rpmeioCB;
        data = "rmdir";
        break;
  -    case EIO_MKDIR:
  +    case RPMEIO_MKDIR:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -850,7 +978,7 @@
        cb = rpmeioCB;
        data = "mkdir";
        break;
  -    case EIO_RENAME:
  +    case RPMEIO_RENAME:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -860,7 +988,7 @@
        cb = rpmeioCB;
        data = "rename";
        break;
  -    case EIO_MKNOD:
  +    case RPMEIO_MKNOD:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -869,7 +997,7 @@
        cb = rpmeioCB;
        data = "mknod";
        break;
  -    case EIO_LINK:
  +    case RPMEIO_LINK:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -879,7 +1007,7 @@
        cb = rpmeioCB;
        data = "link";
        break;
  -    case EIO_SYMLINK:
  +    case RPMEIO_SYMLINK:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -889,7 +1017,7 @@
        cb = rpmeioCB;
        data = "symlink";
        break;
  -    case EIO_READLINK:
  +    case RPMEIO_READLINK:
        req->ptr1 = va_arg(ap, char *);
        req->ptr1 = xstrdup((char *)req->ptr1);
        req->flags |= EIO_FLAG_PTR1_FREE;
  @@ -918,232 +1046,232 @@
   /*==============================================================*/
   eio_req *Eio_wd_open   (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_WD_OPEN, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_WD_OPEN, path, pri, cb, data) );
   }
   
   eio_req *Eio_wd_close  (eio_wd wd, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_WD_CLOSE, wd, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_WD_CLOSE, wd, pri, cb, data) );
   }
   
   eio_req *Eio_nop       (int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_NOP, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_NOP, pri, cb, data) );
   }
   
   eio_req *Eio_busy      (eio_tstamp delay, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_BUSY, delay, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_BUSY, delay, pri, cb, data) );
   }
   
   eio_req *Eio_sync      (int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_SYNC, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_SYNC, pri, cb, data) );
   }
   
   eio_req *Eio_fsync     (int fd, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FSYNC, fd, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_FSYNC, fd, pri, cb, data) );
   }
   
   eio_req *Eio_fdatasync (int fd, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FDATASYNC, fd, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_FDATASYNC, fd, pri, cb, data) );
   }
   
   eio_req *Eio_syncfs    (int fd, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_SYNC, fd, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_SYNC, fd, pri, cb, data) );
   }
   
   eio_req *Eio_msync     (void *addr, size_t length, int flags, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_MSYNC, addr, length, flags, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_MSYNC, addr, length, flags, pri, 
cb, data) );
   }
   
   eio_req *Eio_mtouch    (void *addr, size_t length, int flags, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_MTOUCH, addr, length, flags, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_MTOUCH, addr, length, flags, pri, 
cb, data) );
   }
   
   eio_req *Eio_mlock     (void *addr, size_t length, int pri, eio_cb cb, void 
*data)
   {
  -    return Eio_submit( Eio_request(EIO_MLOCK, addr, length, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_MLOCK, addr, length, pri, cb, 
data) );
   }
   
   eio_req *Eio_mlockall  (int flags, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_MLOCKALL, flags, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_MLOCKALL, flags, pri, cb, data) );
   }
   
   eio_req *Eio_sync_file_range (int fd, off_t offset, size_t nbytes, unsigned 
int flags, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_SYNC_FILE_RANGE, fd, offset, nbytes, 
flags, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_SYNC_FILE_RANGE, fd, offset, 
nbytes, flags, pri, cb, data) );
   }
   
   eio_req *Eio_fallocate (int fd, int mode, off_t offset, size_t len, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FALLOCATE, fd, mode, offset, len, 
pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_FALLOCATE, fd, mode, offset, len, 
pri, cb, data) );
   }
   
   eio_req *Eio_close     (int fd, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_CLOSE, fd, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_CLOSE, fd, pri, cb, data) );
   }
   
   eio_req *Eio_readahead (int fd, off_t offset, size_t length, int pri, eio_cb 
cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_READAHEAD, fd, offset, length, pri, 
cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_READAHEAD, fd, offset, length, 
pri, cb, data) );
   }
   
   eio_req *Eio_seek      (int fd, off_t offset, int whence, int pri, eio_cb 
cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_SEEK, fd, offset, whence, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_SEEK, fd, offset, whence, pri, cb, 
data) );
   }
   
   eio_req *Eio_read      (int fd, void *buf, size_t length, off_t offset, int 
pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_READ, fd, buf, length, offset, pri, 
cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_READ, fd, buf, length, offset, 
pri, cb, data) );
   }
   
   eio_req *Eio_write     (int fd, void *buf, size_t length, off_t offset, int 
pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_WRITE, fd, buf, length, offset, pri, 
cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_WRITE, fd, buf, length, offset, 
pri, cb, data) );
   }
   
   eio_req *Eio_fstat     (int fd, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FSTAT, fd, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_FSTAT, fd, pri, cb, data) );
   }
   
   eio_req *Eio_fstatvfs  (int fd, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FSTATVFS, fd, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_FSTATVFS, fd, pri, cb, data) );
   }
   
   eio_req *Eio_futime    (int fd, eio_tstamp atime, eio_tstamp mtime, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FUTIME, fd, atime, mtime, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_FUTIME, fd, atime, mtime, pri, cb, 
data) );
   }
   
   eio_req *Eio_ftruncate (int fd, off_t offset, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FTRUNCATE, fd, offset, pri, cb, data) 
);
  +    return Eio_submit( Eio_request(RPMEIO_FTRUNCATE, fd, offset, pri, cb, 
data) );
   }
   
   eio_req *Eio_fchmod    (int fd, mode_t mode, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FCHMOD, fd, mode, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_FCHMOD, fd, mode, pri, cb, data) );
   }
   
   eio_req *Eio_fchown    (int fd, eio_uid_t uid, eio_gid_t gid, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_FCHOWN, fd, uid, gid, pri, cb, data) 
);
  +    return Eio_submit( Eio_request(RPMEIO_FCHOWN, fd, uid, gid, pri, cb, 
data) );
   }
   
   eio_req *Eio_dup2      (int fd, int fd2, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_DUP2, fd, fd2, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_DUP2, fd, fd2, pri, cb, data) );
   }
   
   eio_req *Eio_sendfile  (int out_fd, int in_fd, off_t in_offset, size_t 
length, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_SENDFILE, out_fd, in_fd, in_offset, 
length, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_SENDFILE, out_fd, in_fd, 
in_offset, length, pri, cb, data) );
   }
   
   eio_req *Eio_open      (const char *path, int flags, mode_t mode, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_OPEN, path, flags, mode, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_OPEN, path, flags, mode, pri, cb, 
data) );
   }
   
   eio_req *Eio_utime     (const char *path, eio_tstamp atime, eio_tstamp 
mtime, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_UTIME, path, atime, mtime, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_UTIME, path, atime, mtime, pri, 
cb, data) );
   }
   
   eio_req *Eio_truncate  (const char *path, off_t offset, int pri, eio_cb cb, 
void *data)
   {
  -    return Eio_submit( Eio_request(EIO_TRUNCATE, path, offset, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_TRUNCATE, path, offset, pri, cb, 
data) );
   }
   
   eio_req *Eio_chown     (const char *path, eio_uid_t uid, eio_gid_t gid, int 
pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_CHOWN, path, uid, gid, pri, cb, data) 
);
  +    return Eio_submit( Eio_request(RPMEIO_CHOWN, path, uid, gid, pri, cb, 
data) );
   }
   
   eio_req *Eio_chmod     (const char *path, mode_t mode, int pri, eio_cb cb, 
void *data)
   {
  -    return Eio_submit( Eio_request(EIO_CHMOD, path, mode, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_CHMOD, path, mode, pri, cb, data) 
);
   }
   
   eio_req *Eio_mkdir     (const char *path, mode_t mode, int pri, eio_cb cb, 
void *data)
   {
  -    return Eio_submit( Eio_request(EIO_MKDIR, path, mode, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_MKDIR, path, mode, pri, cb, data) 
);
   }
   
   eio_req *Eio_readdir   (const char *path, int flags, int pri, eio_cb cb, 
void *data)
   {
  -    return Eio_submit( Eio_request(EIO_READDIR, path, flags, pri, cb, data) 
);
  +    return Eio_submit( Eio_request(RPMEIO_READDIR, path, flags, pri, cb, 
data) );
   }
   
   eio_req *Eio_rmdir     (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_RMDIR, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_RMDIR, path, pri, cb, data) );
   }
   
   eio_req *Eio_unlink    (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_UNLINK, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_UNLINK, path, pri, cb, data) );
   }
   
   eio_req *Eio_readlink  (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_READLINK, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_READLINK, path, pri, cb, data) );
   }
   
   eio_req *Eio_realpath  (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_REALPATH, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_REALPATH, path, pri, cb, data) );
   }
   
   eio_req *Eio_stat      (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_STAT, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_STAT, path, pri, cb, data) );
   }
   
   eio_req *Eio_lstat     (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_LSTAT, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_LSTAT, path, pri, cb, data) );
   }
   
   eio_req *Eio_statvfs   (const char *path, int pri, eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_STATVFS, path, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_STATVFS, path, pri, cb, data) );
   }
   
   eio_req *Eio_mknod     (const char *path, mode_t mode, dev_t dev, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_MKNOD, path, mode, dev, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_MKNOD, path, mode, dev, pri, cb, 
data) );
   }
   
   eio_req *Eio_link      (const char *path, const char *new_path, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_LINK, path, new_path, pri, cb, data) 
);
  +    return Eio_submit( Eio_request(RPMEIO_LINK, path, new_path, pri, cb, 
data) );
   }
   
   eio_req *Eio_symlink   (const char *path, const char *new_path, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_SYMLINK, path, new_path, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_SYMLINK, path, new_path, pri, cb, 
data) );
   }
   
   eio_req *Eio_rename    (const char *path, const char *new_path, int pri, 
eio_cb cb, void *data)
   {
  -    return Eio_submit( Eio_request(EIO_RENAME, path, new_path, pri, cb, 
data) );
  +    return Eio_submit( Eio_request(RPMEIO_RENAME, path, new_path, pri, cb, 
data) );
   }
   
   eio_req *Eio_custom    (void (*execute)(eio_req *), int pri, eio_cb cb, void 
*data)
   {
  -    return Eio_submit( Eio_request(EIO_CUSTOM, execute, pri, cb, data) );
  +    return Eio_submit( Eio_request(RPMEIO_CUSTOM, execute, pri, cb, data) );
   }
   
   /*==============================================================*/
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmeio.h
  ============================================================================
  $ cvs diff -u -r1.1.2.8 -r1.1.2.9 rpmeio.h
  --- rpm/rpmio/rpmeio.h        21 Jun 2017 07:42:48 -0000      1.1.2.8
  +++ rpm/rpmio/rpmeio.h        4 Jul 2017 03:14:16 -0000       1.1.2.9
  @@ -1,8 +1,6 @@
   #ifndef      _H_RPMEIO_
   #define      _H_RPMEIO_
   
  -#include <eio.h>
  -
   /**
    */
   extern int _rpmeio_debug;
  @@ -14,54 +12,54 @@
   /**
    */
   typedef enum rpmeioType_e {
  -    RPMEIO_CUSTOM    = EIO_CUSTOM,
  -    RPMEIO_WD_OPEN   = EIO_WD_OPEN,
  -    RPMEIO_WD_CLOSE  = EIO_WD_CLOSE,
  -    RPMEIO_CLOSE     = EIO_CLOSE,
  -    RPMEIO_DUP2              = EIO_DUP2,
  -    RPMEIO_SEEK              = EIO_SEEK,
  -    RPMEIO_READ              = EIO_READ,
  -    RPMEIO_WRITE     = EIO_WRITE,
  -    RPMEIO_READAHEAD = EIO_READAHEAD,
  -    RPMEIO_SENDFILE  = EIO_SENDFILE,
  -    RPMEIO_FSTAT     = EIO_FSTAT,
  -    RPMEIO_FSTATVFS  = EIO_FSTATVFS,
  -    RPMEIO_FTRUNCATE = EIO_FTRUNCATE,
  -    RPMEIO_FUTIME    = EIO_FUTIME,
  -    RPMEIO_FCHMOD    = EIO_FCHMOD,
  -    RPMEIO_FCHOWN    = EIO_FCHOWN,
  -    RPMEIO_SYNC              = EIO_SYNC,
  -    RPMEIO_FSYNC     = EIO_FSYNC,
  -    RPMEIO_FDATASYNC = EIO_FDATASYNC,
  -    RPMEIO_SYNCFS    = EIO_SYNCFS,
  -    RPMEIO_MSYNC     = EIO_MSYNC,
  -    RPMEIO_MTOUCH    = EIO_MTOUCH,
  -    RPMEIO_SYNC_FILE_RANGE = EIO_SYNC_FILE_RANGE,
  -    RPMEIO_FALLOCATE = EIO_FALLOCATE,
  -    RPMEIO_MLOCK     = EIO_MLOCK,
  -    RPMEIO_MLOCKALL  = EIO_MLOCKALL,
  -    RPMEIO_GROUP     = EIO_GROUP,
  -    RPMEIO_NOP               = EIO_NOP,
  -    RPMEIO_BUSY              = EIO_BUSY,
  -    RPMEIO_REALPATH  = EIO_REALPATH,
  -    RPMEIO_READDIR   = EIO_READDIR,
  -    RPMEIO_OPEN              = EIO_OPEN,
  -    RPMEIO_STAT              = EIO_STAT,
  -    RPMEIO_LSTAT     = EIO_LSTAT,
  -    RPMEIO_STATVFS   = EIO_STATVFS,
  -    RPMEIO_TRUNCATE  = EIO_TRUNCATE,
  -    RPMEIO_UTIME     = EIO_UTIME,
  -    RPMEIO_CHMOD     = EIO_CHMOD,
  -    RPMEIO_CHOWN     = EIO_CHOWN,
  -    RPMEIO_UNLINK    = EIO_UNLINK,
  -    RPMEIO_RMDIR     = EIO_RMDIR,
  -    RPMEIO_MKDIR     = EIO_MKDIR,
  -    RPMEIO_RENAME    = EIO_RENAME,
  -    RPMEIO_MKNOD     = EIO_MKNOD,
  -    RPMEIO_LINK              = EIO_LINK,
  -    RPMEIO_SYMLINK   = EIO_SYMLINK,
  -    RPMEIO_READLINK  = EIO_READLINK,
  -    RPMEIO_REQ_TYPE_NUM      = EIO_REQ_TYPE_NUM,
  +    RPMEIO_CUSTOM    =  0,   /* EIO_CUSTOM */
  +    RPMEIO_WD_OPEN   =  1,   /* EIO_WD_OPEN */
  +    RPMEIO_WD_CLOSE  =  2,   /* EIO_WD_CLOSE */
  +    RPMEIO_CLOSE     =  3,   /* EIO_CLOSE */
  +    RPMEIO_DUP2              =  4,   /* EIO_DUP2 */
  +    RPMEIO_SEEK              =  5,   /* EIO_SEEK */
  +    RPMEIO_READ              =  6,   /* EIO_READ */
  +    RPMEIO_WRITE     =  7,   /* EIO_WRITE */
  +    RPMEIO_READAHEAD =  8,   /* EIO_READAHEAD */
  +    RPMEIO_SENDFILE  =  9,   /* EIO_SENDFILE */
  +    RPMEIO_FSTAT     = 10,   /* EIO_FSTAT */
  +    RPMEIO_FSTATVFS  = 11,   /* EIO_FSTATVFS */
  +    RPMEIO_FTRUNCATE = 12,   /* EIO_FTRUNCATE */
  +    RPMEIO_FUTIME    = 13,   /* EIO_FUTIME */
  +    RPMEIO_FCHMOD    = 14,   /* EIO_FCHMOD */
  +    RPMEIO_FCHOWN    = 15,   /* EIO_FCHOWN */
  +    RPMEIO_SYNC              = 16,   /* EIO_SYNC */
  +    RPMEIO_FSYNC     = 17,   /* EIO_FSYNC */
  +    RPMEIO_FDATASYNC = 18,   /* EIO_FDATASYNC */
  +    RPMEIO_SYNCFS    = 19,   /* EIO_SYNCFS */
  +    RPMEIO_MSYNC     = 20,   /* EIO_MSYNC */
  +    RPMEIO_MTOUCH    = 21,   /* EIO_MTOUCH */
  +    RPMEIO_SYNC_FILE_RANGE = 22,     /* EIO_SYNC_FILE_RANGE */
  +    RPMEIO_FALLOCATE = 23,   /* EIO_FALLOCATE */
  +    RPMEIO_MLOCK     = 24,   /* EIO_MLOCK */
  +    RPMEIO_MLOCKALL  = 25,   /* EIO_MLOCKALL */
  +    RPMEIO_GROUP     = 26,   /* EIO_GROUP */
  +    RPMEIO_NOP               = 27,   /* EIO_NOP */
  +    RPMEIO_BUSY              = 28,   /* EIO_BUSY */
  +    RPMEIO_REALPATH  = 29,   /* EIO_REALPATH */
  +    RPMEIO_READDIR   = 30,   /* EIO_READDIR */
  +    RPMEIO_OPEN              = 31,   /* EIO_OPEN */
  +    RPMEIO_STAT              = 32,   /* EIO_STAT */
  +    RPMEIO_LSTAT     = 33,   /* EIO_LSTAT */
  +    RPMEIO_STATVFS   = 34,   /* EIO_STATVFS */
  +    RPMEIO_TRUNCATE  = 35,   /* EIO_TRUNCATE */
  +    RPMEIO_UTIME     = 36,   /* EIO_UTIME */
  +    RPMEIO_CHMOD     = 37,   /* EIO_CHMOD */
  +    RPMEIO_CHOWN     = 38,   /* EIO_CHOWN */
  +    RPMEIO_UNLINK    = 39,   /* EIO_UNLINK */
  +    RPMEIO_RMDIR     = 40,   /* EIO_RMDIR */
  +    RPMEIO_MKDIR     = 41,   /* EIO_MKDIR */
  +    RPMEIO_RENAME    = 42,   /* EIO_RENAME */
  +    RPMEIO_MKNOD     = 43,   /* EIO_MKNOD */
  +    RPMEIO_LINK              = 44,   /* EIO_LINK */
  +    RPMEIO_SYMLINK   = 45,   /* EIO_SYMLINK */
  +    RPMEIO_READLINK  = 46,   /* EIO_READLINK */
  +    RPMEIO_REQ_TYPE_NUM      = 47,   /* EIO_REQ_TYPE_NUM */
   } rpmeioType;
   #define      RPMEIO_REQ_TYPE_MASK    0xff
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to