linux/include/uapi/linux/loop.h

/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
/*
 * Copyright 1993 by Theodore Ts'o.
 */
#ifndef _UAPI_LINUX_LOOP_H
#define _UAPI_LINUX_LOOP_H


#define LO_NAME_SIZE
#define LO_KEY_SIZE


/*
 * Loop flags
 */
enum {};

/* LO_FLAGS that can be set using LOOP_SET_STATUS(64) */
#define LOOP_SET_STATUS_SETTABLE_FLAGS

/* LO_FLAGS that can be cleared using LOOP_SET_STATUS(64) */
#define LOOP_SET_STATUS_CLEARABLE_FLAGS

/* LO_FLAGS that can be set using LOOP_CONFIGURE */
#define LOOP_CONFIGURE_SETTABLE_FLAGS

#include <asm/posix_types.h>	/* for __kernel_old_dev_t */
#include <linux/types.h>	/* for __u64 */

/* Backwards compatibility version */
struct loop_info {};

struct loop_info64 {};

/**
 * struct loop_config - Complete configuration for a loop device.
 * @fd: fd of the file to be used as a backing file for the loop device.
 * @block_size: block size to use; ignored if 0.
 * @info: struct loop_info64 to configure the loop device with.
 *
 * This structure is used with the LOOP_CONFIGURE ioctl, and can be used to
 * atomically setup and configure all loop device parameters at once.
 */
struct loop_config {};

/*
 * Loop filter types
 */

#define LO_CRYPT_NONE
#define LO_CRYPT_XOR
#define LO_CRYPT_DES
#define LO_CRYPT_FISH2
#define LO_CRYPT_BLOW
#define LO_CRYPT_CAST128
#define LO_CRYPT_IDEA
#define LO_CRYPT_DUMMY
#define LO_CRYPT_SKIPJACK
#define LO_CRYPT_CRYPTOAPI
#define MAX_LO_CRYPT

/*
 * IOCTL commands --- we will commandeer 0x4C ('L')
 */

#define LOOP_SET_FD
#define LOOP_CLR_FD
#define LOOP_SET_STATUS
#define LOOP_GET_STATUS
#define LOOP_SET_STATUS64
#define LOOP_GET_STATUS64
#define LOOP_CHANGE_FD
#define LOOP_SET_CAPACITY
#define LOOP_SET_DIRECT_IO
#define LOOP_SET_BLOCK_SIZE
#define LOOP_CONFIGURE

/* /dev/loop-control interface */
#define LOOP_CTL_ADD
#define LOOP_CTL_REMOVE
#define LOOP_CTL_GET_FREE
#endif /* _UAPI_LINUX_LOOP_H */