~vcs-imports/qemu/git

« back to all changes in this revision

Viewing changes to linux-user/linux_loop.h

  • Committer: ths
  • Date: 2007-10-08 12:45:38 UTC
  • Revision ID: git-v1:450d4ff553af32fc9d83fef20d7106b0151526b8
CRIS disassembler, originally from binutils, by Edgar E. Iglesias.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3356 c046a42c-6fe2-441c-8c8c-71466251a162

Show diffs side-by-side

added added

removed removed

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