docs/ikteam: Delete most files.
[haiku.git] / docs / develop / storage / DiskDeviceAPI_Protocols
blobfa64a90eaf966b8b569c6624fa2a55dfb10fffa4
1 Disk Device Protocols
2 =====================
4 disk device job scheduled message
6 target:         Registered job update BMessengers
7 message:        B_DISK_DEVICE_JOB_SCHEDULED
8                         "job_id": B_INT32_TYPE
9 reply:      none (asynchronous message)
11 message fields:
12 - job_id: Unique job identifier
14 -----------------------------------------------------------------------
16 disk device job initiated message
18 target:         Registered job update BMessengers
19 message:        B_DISK_DEVICE_JOB_INITIATED
20                         "job_id": B_INT32_TYPE
21 reply:      none (asynchronous message)
23 message fields:
24 - job_id: Unique job identifier
26 -----------------------------------------------------------------------
28 disk device job canceled message
30 target:         Registered job update BMessengers
31 message:        B_DISK_DEVICE_JOB_CANCELED
32                         "job_id": B_INT32_TYPE
33 reply:      none (asynchronous message)
35 message fields:
36 - job_id: Unique job identifier
38 -----------------------------------------------------------------------
40 disk device job finished message
42 target:         Registered job update BMessengers
43 message:        B_DISK_DEVICE_JOB_FINISHED
44                         "job_id": B_INT32_TYPE
45                         "succeeded": B_BOOL_TYPE
46                         [ "info": B_STRING_TYPE ]
47 reply:      none (asynchronous message)
49 message fields:
50 - job_id: Unique job identifier
51 - info: Optional description of success or failure
53 notes:
54 A separate job finished message is needed, as rounding error in
55 the computation of job progress may result in multiple
56 B_DISK_DEVICE_JOB_UPDATE messages with "progress" fields of 100.
58 -----------------------------------------------------------------------
60 disk device job simple progress update message
62 target:         Registered job simple progress update BMessengers
63 message:        B_DISK_DEVICE_JOB_SIMPLE_PROGRESS
64                         "job_id": B_INT32_TYPE
65                         "progress": B_UINT8_TYPE
66                         "info": B_STRING_TYPE
67 reply:      none (asynchronous message)
69 message fields:
70 - job_id: Unique job identifier
71 - progress: Percent of job completed (0 to 100)
72 - info: Description of current action being taken, i.e.
73         "allocating inodes", "writing superblock", etc.
75 -----------------------------------------------------------------------
77 disk device job extra progress update message
79 target:         Registered job extra progress update BMessengers
80 message:        B_DISK_DEVICE_JOB_EXTRA_PROGRESS
81                         "job_id": B_INT32_TYPE
82                         "info": B_STRING_TYPE
83 reply:      none (asynchronous message)
85 message fields:
86 - job_id: Unique job identifier
87 - info: Extended progress info string, i.e. "block 123: found
88         invalid inode; fixing"
90 -----------------------------------------------------------------------