~ubuntu-branches/ubuntu/edgy/xfsprogs/edgy

« back to all changes in this revision

Viewing changes to include/xfs_fs.h

  • Committer: Bazaar Package Importer
  • Author(s): Nathan Scott
  • Date: 2005-03-30 10:52:07 UTC
  • Revision ID: james.westby@ubuntu.com-20050330105207-fv1jw5r9d2fgwvew
Tags: 2.6.28-1
* New upstream release.
* Fix compilation with gcc version 4 (closes: #300544)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (c) 1995-2004 Silicon Graphics, Inc.  All Rights Reserved.
 
2
 * Copyright (c) 1995-2003 Silicon Graphics, Inc.  All Rights Reserved.
3
3
 *
4
4
 * This program is free software; you can redistribute it and/or modify it
5
5
 * under the terms of version 2.1 of the GNU Lesser General Public License
76
76
#define XFS_XFLAG_SYNC          0x00000020      /* all writes synchronous */
77
77
#define XFS_XFLAG_NOATIME       0x00000040      /* do not update access time */
78
78
#define XFS_XFLAG_NODUMP        0x00000080      /* do not include in backups */
 
79
#define XFS_XFLAG_RTINHERIT     0x00000100      /* create with rt bit set */
 
80
#define XFS_XFLAG_PROJINHERIT   0x00000200      /* create with parents projid */
 
81
#define XFS_XFLAG_NOSYMLINKS    0x00000400      /* disallow symlink creation */
79
82
#define XFS_XFLAG_HASATTR       0x80000000      /* no DIFLAG for this   */
80
83
 
81
84
/*
164
167
        __s64           l_start;
165
168
        __s64           l_len;          /* len == 0 means until end of file */
166
169
        __s32           l_sysid;
167
 
        pid_t           l_pid;
 
170
        __u32           l_pid;
168
171
        __s32           l_pad[4];       /* reserve area                     */
169
172
} xfs_flock64_t;
170
173
 
313
316
 * The user-level BulkStat Request interface structure.
314
317
 */
315
318
typedef struct xfs_fsop_bulkreq {
316
 
        __u64           *lastip;        /* last inode # pointer         */
 
319
        __u64           __user *lastip; /* last inode # pointer         */
317
320
        __s32           icount;         /* count of entries in buffer   */
318
 
        void            *ubuffer;       /* user buffer for inode desc.  */
319
 
        __s32           *ocount;        /* output count pointer         */
 
321
        void            __user *ubuffer;/* user buffer for inode desc.  */
 
322
        __s32           __user *ocount; /* output count pointer         */
320
323
} xfs_fsop_bulkreq_t;
321
324
 
322
325
 
344
347
 */
345
348
typedef struct xfs_fsop_handlereq {
346
349
        __u32           fd;             /* fd for FD_TO_HANDLE          */
347
 
        void            *path;          /* user pathname                */
 
350
        void            __user *path;   /* user pathname                */
348
351
        __u32           oflags;         /* open flags                   */
349
 
        void            *ihandle;       /* user supplied handle         */
 
352
        void            __user *ihandle;/* user supplied handle         */
350
353
        __u32           ihandlen;       /* user supplied length         */
351
 
        void            *ohandle;       /* user buffer for handle       */
352
 
        __u32           *ohandlen;      /* user buffer length           */
 
354
        void            __user *ohandle;/* user buffer for handle       */
 
355
        __u32           __user *ohandlen;/* user buffer length          */
353
356
} xfs_fsop_handlereq_t;
354
357
 
355
358
/*
360
363
 */
361
364
 
362
365
typedef struct xfs_fsop_setdm_handlereq {
363
 
        struct xfs_fsop_handlereq hreq; /* handle interface structure */
364
 
        struct fsdmidata *data;         /* DMAPI data to set          */
 
366
        struct xfs_fsop_handlereq       hreq;   /* handle information   */
 
367
        struct fsdmidata                __user *data;   /* DMAPI data   */
365
368
} xfs_fsop_setdm_handlereq_t;
366
369
 
367
370
typedef struct xfs_attrlist_cursor {
368
 
        __u32   opaque[4];
 
371
        __u32           opaque[4];
369
372
} xfs_attrlist_cursor_t;
370
373
 
371
374
typedef struct xfs_fsop_attrlist_handlereq {
372
 
        struct xfs_fsop_handlereq hreq; /* handle interface structure */
373
 
        struct xfs_attrlist_cursor pos; /* opaque cookie, list offset */
374
 
        __u32 flags;                    /* flags, use ROOT/USER names */
375
 
        __u32 buflen;                   /* length of buffer supplied  */
376
 
        void *buffer;                   /* attrlist data to return    */
 
375
        struct xfs_fsop_handlereq       hreq; /* handle interface structure */
 
376
        struct xfs_attrlist_cursor      pos; /* opaque cookie, list offset */
 
377
        __u32                           flags;  /* which namespace to use */
 
378
        __u32                           buflen; /* length of buffer supplied */
 
379
        void                            __user *buffer; /* returned names */
377
380
} xfs_fsop_attrlist_handlereq_t;
378
381
 
379
382
typedef struct xfs_attr_multiop {
380
 
        __u32   am_opcode;
381
 
        __s32   am_error;
382
 
        void    *am_attrname;
383
 
        void    *am_attrvalue;
384
 
        __u32   am_length;
385
 
        __u32   am_flags;
 
383
        __u32           am_opcode;
 
384
        __s32           am_error;
 
385
        void            __user *am_attrname;
 
386
        void            __user *am_attrvalue;
 
387
        __u32           am_length;
 
388
        __u32           am_flags;
386
389
} xfs_attr_multiop_t;
387
390
 
388
391
typedef struct xfs_fsop_attrmulti_handlereq {
389
 
        struct xfs_fsop_handlereq hreq; /* handle interface structure */
390
 
        __u32 opcount;                  /* count of following multiop */
391
 
        struct xfs_attr_multiop *ops;   /* attr_multi data to get/set */
 
392
        struct xfs_fsop_handlereq       hreq; /* handle interface structure */
 
393
        __u32                           opcount;/* count of following multiop */
 
394
        struct xfs_attr_multiop         __user *ops; /* attr_multi data */
392
395
} xfs_fsop_attrmulti_handlereq_t;
393
396
 
394
397
/*
444
447
#define XFS_FSOP_GOING_FLAGS_LOGFLUSH           0x1     /* flush log but not data */
445
448
#define XFS_FSOP_GOING_FLAGS_NOLOGFLUSH         0x2     /* don't flush log nor data */
446
449
 
447
 
#ifndef HAVE_IOCMACROS
 
450
/*
 
451
 * ioctl commands that are used by Linux filesystems
 
452
 */
 
453
#define XFS_IOC_GETXFLAGS       _IOR('f', 1, long)
 
454
#define XFS_IOC_SETXFLAGS       _IOW('f', 2, long)
 
455
#define XFS_IOC_GETVERSION      _IOR('v', 1, long)
 
456
 
448
457
/*
449
458
 * ioctl commands that replace IRIX fcntl()'s
450
459
 * For 'documentation' purposed more than anything else,
468
477
/*      XFS_IOC_SETBIOSIZE ---- deprecated 46      */
469
478
/*      XFS_IOC_GETBIOSIZE ---- deprecated 47      */
470
479
#define XFS_IOC_GETBMAPX        _IOWR('X', 56, struct getbmap)
 
480
#define XFS_IOC_SETPROJID       _IOWR('X', 57, __uint32_t)
 
481
#define XFS_IOC_GETPROJID       _IOWR('X', 58, __uint32_t)
471
482
 
472
483
/*
473
484
 * ioctl commands that replace IRIX syssgi()'s
499
510
#define XFS_IOC_FSGEOMETRY           _IOR ('X', 124, struct xfs_fsop_geom)
500
511
#define XFS_IOC_GOINGDOWN            _IOR ('X', 125, __uint32_t)
501
512
/*      XFS_IOC_GETFSUUID ---------- deprecated 140      */
502
 
#endif
 
513
 
503
514
 
504
515
#ifndef HAVE_BBMACROS
505
516
/*