IXP_STAT(3)

NAME

ixp_stat, ixp_fstat, IxpStat, IxpQid, IxpQType, IxpDMode

SYNOPSIS
  #include <ixp.h>

  IxpStat *ixp_stat(IxpClient *c, const char *path);

  IxpStat *ixp_fstat(IxpCFid *fid);

  typedef struct IxpStat IxpStat;
  struct IxpStat {
          uint16_t        type;
          uint32_t        dev;
          IxpQid          qid;
          uint32_t        mode;
          uint32_t        atime;
          uint32_t        mtime;
          uint64_t        length;
          char*   name;
          char*   uid;
          char*   gid;
          char*   muid;
  }

  typedef struct IxpQid IxpQid;
  struct IxpQid {
          uint8_t         type;
          uint32_t        version;
          uint64_t        path;
          /* Private members */
          ...
  }

  enum IxpQType {
          P9_QTDIR        = 0x80, /* type bit for directories */
          P9_QTAPPEND     = 0x40, /* type bit for append only files */
          P9_QTEXCL       = 0x20, /* type bit for exclusive use files */
          P9_QTMOUNT      = 0x10, /* type bit for mounted channel */
          P9_QTAUTH       = 0x08, /* type bit for authentication file */
          P9_QTTMP        = 0x04, /* type bit for non-backed-up file */
          P9_QTSYMLINK    = 0x02, /* type bit for symbolic link */
          P9_QTFILE       = 0x00  /* type bits for plain file */
  }

  enum IxpDMode {
          P9_DMEXEC       = 0x1,          /* mode bit for execute permission */
          P9_DMWRITE      = 0x2,          /* mode bit for write permission */
          P9_DMREAD       = 0x4,          /* mode bit for read permission */

  #define P9_DMDIR        0x80000000      /* mode bit for directories */
  #define P9_DMAPPEND     0x40000000      /* mode bit for append only files */
  #define P9_DMEXCL       0x20000000      /* mode bit for exclusive use files */
  #define P9_DMMOUNT      0x10000000      /* mode bit for mounted channel */
  #define P9_DMAUTH       0x08000000      /* mode bit for authentication file */
  #define P9_DMTMP        0x04000000      /* mode bit for non-backed-up file */
  #define P9_DMSYMLINK    0x02000000      /* mode bit for symbolic link (Unix, 9P2000.u) */
  #define P9_DMDEVICE     0x00800000      /* mode bit for device file (Unix, 9P2000.u) */
  #define P9_DMNAMEDPIPE  0x00200000      /* mode bit for named pipe (Unix, 9P2000.u) */
  #define P9_DMSOCKET     0x00100000      /* mode bit for socket (Unix, 9P2000.u) */
  #define P9_DMSETUID     0x00080000      /* mode bit for setuid (Unix, 9P2000.u) */
  #define P9_DMSETGID     0x00040000      /* mode bit for setgid (Unix, 9P2000.u) */
  }

PARAMETERS

path
    The path of the file to stat.

fid An open file descriptor to stat.

DESCRIPTION

Stats the file at IpathR or pointed to by IfidR.

RETURN VALUE

Returns an IxpStat structure, which must be freed by the caller with free(3).

SEE ALSO

ixp_mount(3), ixp_open(3)