~framefritti/+junk/mastruzzi-netlink

« back to all changes in this revision

Viewing changes to pseudo-disk/4.x/einsof_protocol.h

  • Committer: Riccardo
  • Date: 2017-11-20 19:54:41 UTC
  • Revision ID: framefritti@gmail.com-20171120195441-2r0zs5cvlfipug6x
OK, dovrebbe essere quasi pronto

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _EINSOF_H
 
2
#define _EINSOF_H
 
3
/* #include <linux/netlink.h>
 
4
#include <linux/uuid.h>
 
5
#include <linux/types.h>
 
6
#include "einsof_request_id.h"
 
7
*/
 
8
typedef enum {
 
9
    OK= 1,
 
10
    Error= 2
 
11
} Error_Code;
 
12
/* size =  32 */
 
13
 
 
14
#define Hello 128
 
15
 
 
16
#define Bye 129
 
17
 
 
18
#define Read 130
 
19
 
 
20
#define Write 131
 
21
 
 
22
#define Welcome 132
 
23
 
 
24
typedef uint64_t Byte_Offset;
 
25
 
 
26
typedef uint32_t Byte_Count;
 
27
 
 
28
typedef uint64_t Sector_Count;
 
29
 
 
30
typedef uint32_t Magic_Number;
 
31
 
 
32
#define Kernel_Magic 0xF43A5899
 
33
 
 
34
#define Default_Partner_Magic 0x12DAB10C
 
35
 
 
36
typedef uint8_t[8] Opaque_ID;
 
37
 
 
38
typedef uint16_t ID_Check;
 
39
 
 
40
typedef struct {
 
41
    Opaque_ID ID;
 
42
    ID_check check;
 
43
} Request_ID;
 
44
 
 
45
typedef struct {
 
46
    Magic_Number Magic;
 
47
    request_ID ID;
 
48
    Disk_Number Disk;
 
49
    Byte_Count Length;
 
50
    Byte_Offset From;
 
51
} Kernel_Request;
 
52
 
 
53
typedef struct {
 
54
    Magic_Number Magic;
 
55
    request_ID ID;
 
56
    Disk_Number Disk;
 
57
    Error_Code Error;
 
58
} Partner_Reply_Header;
 
59
 
 
60
typedef struct {
 
61
    UUID_Type UUID;
 
62
    Sector_Count N_Sectors;
 
63
    Disk_Number Disk;
 
64
} Disk_Descriptor;
 
65
 
 
66
typedef struct {
 
67
    Netlink_Port Port;
 
68
    Unsigned_32 Timeout;
 
69
    Disk_Number Last_Disk;
 
70
} Hello_Payload;
 
71
 
 
72
typedef struct {
 
73
    Error_Code Error;
 
74
    Magic_Number Magic;
 
75
} Welcome_Payload;
 
76
 
 
77
 
 
78
#endif