/*
 * Wine file object
 *
 * Copyright (C) 2004 TransGaming Technologies Inc.
 */

#ifndef __WINE_SERVER_FILE_H
#define __WINE_SERVER_FILE_H

#include "object.h"
#include "async.h"

struct file
{
    struct object       obj;        /* object header */
    struct file        *next;       /* next file in hashing list */
    char               *name;       /* file name */
    unsigned int        access;     /* file access (GENERIC_READ/WRITE) */
    unsigned int        flags;      /* flags (FILE_FLAG_*) */
    unsigned int        sharing;    /* file sharing mode */
    int                 drive_type; /* type of drive the file is on */
    int                 drive;      /* letter of drive the file is on */
    struct async_queue  read_q;
    struct async_queue  write_q;
};

#endif  /* __WINE_SERVER_FILE_H */
