1/*
2 * include/linux/loop.h
3 *
4 * Written by Theodore Ts'o, 3/29/93.
5 *
6 * Copyright 1993 by Theodore Ts'o.  Redistribution of this file is
7 * permitted under the GNU Public License.
8 */
9
10#define LO_NAME_SIZE	64
11#define LO_KEY_SIZE	32
12
13struct loop_info {
14	int		lo_number;	/* ioctl r/o */
15	dev_t		lo_device; 	/* ioctl r/o */
16	unsigned long	lo_inode; 	/* ioctl r/o */
17	dev_t		lo_rdevice; 	/* ioctl r/o */
18	int		lo_offset;
19	int		lo_encrypt_type;
20	int		lo_encrypt_key_size; 	/* ioctl w/o */
21	int		lo_flags;	/* ioctl r/o */
22	char		lo_name[LO_NAME_SIZE];
23	unsigned char	lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
24	unsigned long	lo_init[2];
25	char		reserved[4];
26};
27
28#define LO_CRYPT_NONE	0
29#define LO_CRYPT_XOR	1
30#define LO_CRYPT_DES	2
31#define LO_CRYPT_IDEA	3
32#define MAX_LO_CRYPT	4
33
34#define LOOP_SET_FD	0x4C00
35#define LOOP_CLR_FD	0x4C01
36#define LOOP_SET_STATUS	0x4C02
37#define LOOP_GET_STATUS	0x4C03
38