2
* Copyright (c) 1995-2004 Silicon Graphics, Inc. All Rights Reserved.
2
* Copyright (c) 1995-2003 Silicon Graphics, Inc. All Rights Reserved.
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 */
313
316
* The user-level BulkStat Request interface structure.
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;
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;
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;
367
370
typedef struct xfs_attrlist_cursor {
369
372
} xfs_attrlist_cursor_t;
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;
379
382
typedef struct xfs_attr_multiop {
385
void __user *am_attrname;
386
void __user *am_attrvalue;
386
389
} xfs_attr_multiop_t;
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;
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 */
447
#ifndef HAVE_IOCMACROS
451
* ioctl commands that are used by Linux filesystems
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)
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)
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 */
504
515
#ifndef HAVE_BBMACROS