OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [loop.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/*
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 General Public License.
8
 */
9
#ifndef _LINUX_LOOP_H
10
#define _LINUX_LOOP_H
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 /* _LINUX_LOOP_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.