Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


loop.h
01: #ifndef _LINUX_LOOP_H
02: #define _LINUX_LOOP_H
03: 
04: /*
05:  * include/linux/loop.h
06:  *
07:  * Written by Theodore Ts'o, 3/29/93.
08:  *
09:  * Copyright 1993 by Theodore Ts'o.  Redistribution of this file is
10:  * permitted under the GNU General Public License.
11:  */
12: 
13: #define LO_NAME_SIZE    64
14: #define LO_KEY_SIZE     32
15: 
16: 
17: /*
18:  * Loop flags
19:  */
20: enum {
21:         LO_FLAGS_READ_ONLY      = 1,
22:         LO_FLAGS_AUTOCLEAR      = 4,
23:         LO_FLAGS_PARTSCAN       = 8,
24: };
25: 
26: #include <asm/posix_types.h>    /* for __kernel_old_dev_t */
27: #include <linux/types.h>        /* for __u64 */
28: 
29: /* Backwards compatibility version */
30: struct loop_info {
31:         int                lo_number;           /* ioctl r/o */
32:         __kernel_old_dev_t lo_device;           /* ioctl r/o */
33:         unsigned long      lo_inode;            /* ioctl r/o */
34:         __kernel_old_dev_t lo_rdevice;          /* ioctl r/o */
35:         int                lo_offset;
36:         int                lo_encrypt_type;
37:         int                lo_encrypt_key_size;         /* ioctl w/o */
38:         int                lo_flags;                    /* ioctl r/o */
39:         char               lo_name[LO_NAME_SIZE];
40:         unsigned char      lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
41:         unsigned long      lo_init[2];
42:         char               reserved[4];
43: };
44: 
45: struct loop_info64 {
46:         __u64              lo_device;                   /* ioctl r/o */
47:         __u64              lo_inode;                    /* ioctl r/o */
48:         __u64              lo_rdevice;                  /* ioctl r/o */
49:         __u64              lo_offset;
50:         __u64              lo_sizelimit;/* bytes, 0 == max available */
51:         __u32              lo_number;                   /* ioctl r/o */
52:         __u32              lo_encrypt_type;
53:         __u32              lo_encrypt_key_size;         /* ioctl w/o */
54:         __u32              lo_flags;                    /* ioctl r/o */
55:         __u8               lo_file_name[LO_NAME_SIZE];
56:         __u8               lo_crypt_name[LO_NAME_SIZE];
57:         __u8               lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
58:         __u64              lo_init[2];
59: };
60: 
61: /*
62:  * Loop filter types
63:  */
64: 
65: #define LO_CRYPT_NONE           0
66: #define LO_CRYPT_XOR            1
67: #define LO_CRYPT_DES            2
68: #define LO_CRYPT_FISH2          3    /* Twofish encryption */
69: #define LO_CRYPT_BLOW           4
70: #define LO_CRYPT_CAST128        5
71: #define LO_CRYPT_IDEA           6
72: #define LO_CRYPT_DUMMY          9
73: #define LO_CRYPT_SKIPJACK       10
74: #define LO_CRYPT_CRYPTOAPI      18
75: #define MAX_LO_CRYPT            20
76: 
77: /*
78:  * IOCTL commands --- we will commandeer 0x4C ('L')
79:  */
80: 
81: #define LOOP_SET_FD             0x4C00
82: #define LOOP_CLR_FD             0x4C01
83: #define LOOP_SET_STATUS         0x4C02
84: #define LOOP_GET_STATUS         0x4C03
85: #define LOOP_SET_STATUS64       0x4C04
86: #define LOOP_GET_STATUS64       0x4C05
87: #define LOOP_CHANGE_FD          0x4C06
88: #define LOOP_SET_CAPACITY       0x4C07
89: 
90: /* /dev/loop-control interface */
91: #define LOOP_CTL_ADD            0x4C80
92: #define LOOP_CTL_REMOVE         0x4C81
93: #define LOOP_CTL_GET_FREE       0x4C82
94: #endif
95: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/