linux/fs/ocfs2/ocfs2_ioctl.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * ocfs2_ioctl.h
 *
 * Defines OCFS2 ioctls.
 *
 * Copyright (C) 2010 Oracle.  All rights reserved.
 */

#ifndef OCFS2_IOCTL_H
#define OCFS2_IOCTL_H

/*
 * Space reservation / allocation / free ioctls and argument structure
 * are designed to be compatible with XFS.
 *
 * ALLOCSP* and FREESP* are not and will never be supported, but are
 * included here for completeness.
 */
struct ocfs2_space_resv {};

#define OCFS2_IOC_ALLOCSP
#define OCFS2_IOC_FREESP
#define OCFS2_IOC_RESVSP
#define OCFS2_IOC_UNRESVSP
#define OCFS2_IOC_ALLOCSP64
#define OCFS2_IOC_FREESP64
#define OCFS2_IOC_RESVSP64
#define OCFS2_IOC_UNRESVSP64

/* Used to pass group descriptor data when online resize is done */
struct ocfs2_new_group_input {};

#define OCFS2_IOC_GROUP_EXTEND
#define OCFS2_IOC_GROUP_ADD
#define OCFS2_IOC_GROUP_ADD64

/* Used to pass 2 file names to reflink. */
struct reflink_arguments {};
#define OCFS2_IOC_REFLINK

/* Following definitions dedicated for ocfs2_info_request ioctls. */
#define OCFS2_INFO_MAX_REQUEST
#define OCFS2_TEXT_UUID_LEN

/* Magic number of all requests */
#define OCFS2_INFO_MAGIC

/*
 * Always try to separate info request into small pieces to
 * guarantee the backward&forward compatibility.
 */
struct ocfs2_info {};

struct ocfs2_info_request {};

struct ocfs2_info_clustersize {};

struct ocfs2_info_blocksize {};

struct ocfs2_info_maxslots {};

struct ocfs2_info_label {} __attribute__ ((packed));

struct ocfs2_info_uuid {} __attribute__ ((packed));

struct ocfs2_info_fs_features {};

struct ocfs2_info_journal_size {};

struct ocfs2_info_freeinode {};

#define OCFS2_INFO_MAX_HIST

struct ocfs2_info_freefrag {};

/* Codes for ocfs2_info_request */
enum ocfs2_info_type {};

/* Flags for struct ocfs2_info_request */
/* Filled by the caller */
#define OCFS2_INFO_FL_NON_COHERENT
/* Filled by ocfs2 */
#define OCFS2_INFO_FL_FILLED

#define OCFS2_INFO_FL_ERROR

#define OCFS2_IOC_INFO

struct ocfs2_move_extents {};

#define OCFS2_MOVE_EXT_FL_AUTO_DEFRAG
#define OCFS2_MOVE_EXT_FL_PART_DEFRAG
#define OCFS2_MOVE_EXT_FL_COMPLETE

#define OCFS2_IOC_MOVE_EXT

#endif /* OCFS2_IOCTL_H */