💾 Archived View for lofi.haiku-os.org › docs › develop › servers › registrar › Protocols.gmi captured on 2023-12-28 at 15:24:53. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-09-28)

-=-=-=-=-=-=-

Registrar Protocols

Standard Replies

standard success reply message

reply: B_REG_SUCCESS

fields:

standard error reply message

reply: B_REG_ERROR

fields:

standard general result reply message

reply: B_REG_RESULT

fields:

General Requests

Getting the messengers

for MIME, clipboard and disk device management respectively

+----------------+---------------------------------------------------------+
| target         | registrar app looper (preferred handler)                |
+----------------+---------------------------------------------------------+
| message        | B_REG_GET_MIME_MESSENGERB_REG_GET_CLIPBOARD_MESSENGERB  |
|                | _REG_GET_DISK_DEVICE_MESSENGER                          |
+----------------+---------------------------------------------------------+
| reply          | standard success“messenger”: B_MESSENGER_TYPE           |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error (fatal)                |
+----------------+---------------------------------------------------------+

reply fields:

Shut down

+----------------+---------------------------------------------------------+
| target         | registrar app looper (preferred handler)                |
+----------------+---------------------------------------------------------+
| message        | B_REG_SHUT_DOWN“reboot”:                                |
|                | B_BOOL_TYPE“confirm”:                                   |
|                | B_BOOL_TYPE“synchronously”:     B_BOOL_TYPE             |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error (fatal)                |
+----------------+---------------------------------------------------------+

message fields:

Roster Requests

App registration (BRoster::AddApplication())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_ADD_APP“signature”:                               |
|                | B_MIME_STRING_TYPE“ref”:                                |
|                | B_REF_TYPE“flags”:                                      |
|                | B_UINT32_TYPE“team”:                                    |
|                | B_INT32_TYPE“thread”:                                   |
|                | B_INT32_TYPE“port”:                                     |
|                | B_INT32_TYPE“full_registration”:         B_BOOL_TYPE    |
+----------------+---------------------------------------------------------+
| reply          | standard success[ “token”:                              |
|                | B_INT32_TYPE ][ “other_team”:                           |
|                | B_INT32_TYPE ]                                          |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

error reply fields:

app registration (BRoster::CompleteRegistration())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_COMPLETE_REGISTRATION“team”:                      |
|                | B_INT32_TYPE“thread”:    B_INT32_TYPE“port”:            |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

app registration check (BRoster::IsAppRegistered())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_IS_APP_REGISTERED“ref”:               B_REF_TYPE( |
|                | “team”:    B_INT32_TYPE | “token”: B_INT32_TYPE )       |
+----------------+---------------------------------------------------------+
| reply          | standard success“registered”:                           |
|                | B_BOOL_TYPE“pre-registered”:    B_BOOL_TYPE[            |
|                | “app_info”:                flattened app_info ]         |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

error reply fields:

pre-registrated app unregistration (BRoster::RemovePreRegApp())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_REMOVE_PRE_REGISTERED_APP“token”:                 |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

app unregistration (BRoster::RemoveApp())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_REMOVE_APP“team”:      B_INT32_TYPE               |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

app pre-registration, set thread/team (BRoster::SetThreadAndTeam())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_SET_THREAD_AND_TEAM“token”:                       |
|                | B_INT32_TYPE“team”:              B_INT32_TYPE“thread”:  |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

app registration, change app signature (BRoster::SetSignature())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_SET_SIGNATURE“team”:                              |
|                | B_INT32_TYPE“signature”: B_STRING_TYPE                  |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

get an app info (BRoster::Get{Running,Active,}AppInfo())


+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_GET_APP_INFO[ “team”:                             |
|                | B_INT32_TYPE“ref”:                                      |
|                | B_REF_TYPE“signature”:        B_STRING_TYPE ]           |
+----------------+---------------------------------------------------------+
| reply          | standard success“app_info”:  B_REG_APP_INFO_TYPE        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

error reply fields:

get an app list (BRoster::GetAppList())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_GET_APP_LIST[ “signature”:       B_STRING_TYPE ]  |
+----------------+---------------------------------------------------------+
| reply          | standard success“teams”:     B_INT32_TYPE[]             |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

error reply fields:

activate an app (BRoster::ActivateApp())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_ACTIVATE_APP“team”:        B_INT32_TYPE           |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

broadcast a message (BRoster::Broadcast())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_BROADCAST“team”:                                  |
|                | B_INT32_TYPE“message”:                                  |
|                | B_MESSAGE_TYPE“reply_target”:      B_MESSENGER_TYPE     |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

start roster watching (BRoster::StartWatching())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_START_WATCHING“target”:                           |
|                | B_MESSENGER_TYPE“events”:    B_INT32_TYPE               |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

stop roster watching (BRoster::StopWatching())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_STOP_WATCHING“target”:    B_MESSENGER_TYPE        |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

MIME Database Requests

install a mime type (BMimeType::Install())

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_INSTALL“type”: B_STRING_TYPE                 |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

remove a mime type (BMimeType::Delete())

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_DELETE“type”: B_STRING_TYPE                  |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

set a specific attribute of a mime type (BMimeType::Set*()), installing if necessary

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_SET_PARAM“type”: B_STRING_TYPE“which”:       |
|                | B_INT32_TYPE[ additional fields depending upon the      |
|                | “which” field (see below) ]                             |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

+-----------------------------+---------------------------------+-------------------------------------+
| “which”                     | additional message fields       | field comments                      |
|=============================|=================================|=====================================|
| B_REG_MIME_ICON             | “icon data”: B_RAW_TYPE,        | B_CMAP8 bitmap data only            |
|                             +---------------------------------+-------------------------------------+
|                             | “icon size”: B_INT32_TYPE       | B_{MINI,LARGE}_ICON or -1 for flat  |
|                             |                                 | vector icon data                    |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_PREFERRED_APP    | “signature”: B_STRING_TYPE      |                                     |
|                             +---------------------------------+-------------------------------------+
|                             | “app verb”: B_INT32_TYPE        |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_ATTR_INFO        | “attr info”: B_MESSAGE_TYPE     |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_FILE_EXTENSIONS  | “extensions”: B_MESSAGE_TYPE    |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_DESCRIPTION      | “long”: B_BOOL_TYPE,            |                                     |
|                             +---------------------------------+-------------------------------------+
|                             | “description”: B_STRING_TYPE    |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_SNIFFER_RULE     | “sniffer rule”: B_STRING_TYPE   |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_APP_HINT         | “app hint”: B_REF_TYPE          |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_ICON_FOR_TYPE    | “file type”: B_STRING_TYPE,     |                                     |
|                             +---------------------------------+-------------------------------------+
|                             | “icon data”: B_RAW_TYPE,        |                                     |
|                             +---------------------------------+-------------------------------------+
|                             | “icon size”: B_INT32_TYPE       |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_SUPPORTED_TYPES  | “types”: B_MESSAGE_TYPE         |                                     |
+-----------------------------+---------------------------------+-------------------------------------+

reply fields:

delete a specific attribute of a mime type (BMimeType::Delete*()),

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_DELETE_PARAM“type”: B_STRING_TYPE“which”:    |
|                | B_INT32_TYPE[ additional fields depending upon the      |
|                | “which” field (see below) ]                             |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

+-----------------------------+---------------------------------+-------------------------------------+
| “which”                     | additional message fields       | field comments                      |
|=============================|=================================|=====================================|
| B_REG_MIME_ICON:            | “icon size”: B_INT32_TYPE       | B_{MINI,LARGE}_ICON or -1 for       |
|                             |                                 | vector icon data                    |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_PREFERRED_APP    | “app verb”: B_INT32_TYPE        |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_ATTR_INFO        |                                 |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_FILE_EXTENSIONS  |                                 |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_DESCRIPTION      | “long”: B_BOOL_TYPE             |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_SNIFFER_RULE     |                                 |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_APP_HINT         |                                 |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_ICON_FOR_TYPE    | “file type”: B_STRING_TYPE,     |                                     |
|                             +---------------------------------+-------------------------------------+
|                             | “icon size”: B_INT32_TYPE       |                                     |
+-----------------------------+---------------------------------+-------------------------------------+
| B_REG_MIME_SUPPORTED_TYPES  |                                 |                                     |
+-----------------------------+---------------------------------+-------------------------------------+

reply fields:

subscribe a BMessenger to the MIME monitor service (BMimeType::StartWatching())

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_START_WATCHING“target”: B_MESSENGER_TYPE     |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

unsubscribe a BMessenger from the MIME monitor service (BMimeType::StopWatching())

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_STOP_WATCHING“target”: B_MESSENGER_TYPE      |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

perform an update_mime_info() call

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_UPDATE_MIME_INFO“entry”:                     |
|                | B_REF_TYPE“recursive”: B_BOOLEAN_TYPE“synchronous”:     |
|                | B_BOOLEAN_TYPE“force”: B_INT32_TYPE                     |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

perform a create_app_meta_mime() call

+----------------+---------------------------------------------------------+
| target         | mime manager (BRoster::fMimeMess)                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_MIME_CREATE_APP_META_MIME“entry”:                 |
|                | B_REF_TYPE“recursive”: B_BOOLEAN_TYPE“synchronous”:     |
|                | B_BOOLEAN_TYPE“force”: B_INT32_TYPE                     |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

notify the thread manager to perform a clean up run

+----------------+-------------------------------------------------------------------------------+
| target         | thread manager/mime manager (MIMEManager::fThreadManager/BRoster::fMimeMess)  |
+----------------+-------------------------------------------------------------------------------+
| message        | B_REG_MIME_UPDATE_THREAD_FINISHED                                             |
+----------------+-------------------------------------------------------------------------------+
| reply          | none (message should be sent asynchronously)                                  |
+----------------+-------------------------------------------------------------------------------+

Message Runner Requests

message runner registration (BMessageRunner::InitData())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_REGISTER_MESSAGE_RUNNER“team”:                    |
|                | B_INT32_TYPE“target”:                                   |
|                | B_MESSENGER_TYPE“message”:                              |
|                | B_MESSAGE_TYPE“interval”:                               |
|                | B_INT64_TYPE“count”:                                    |
|                | B_INT32_TYPE“reply_target”:                             |
|                | B_MESSENGER_TYPE                                        |
+----------------+---------------------------------------------------------+
| reply          | standard success“token”:                                |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| on error:      | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

error reply fields:

message runner unregistration (BMessageRunner::~BMessageRunner())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message:       | B_REG_UNREGISTER_MESSAGE_RUNNER“token”:                 |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error:      | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

set message runner parameters (BMessageRunner::SetParams())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message        | B_REG_SET_MESSAGE_RUNNER_PARAMS“token”:                 |
|                | B_INT32_TYPE[ “interval”:                               |
|                | B_INT64_TYPE ][ “count”:                                |
|                | B_INT32_TYPE ]                                          |
+----------------+---------------------------------------------------------+
| reply          | standard success                                        |
+----------------+---------------------------------------------------------+
| on error:      | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

error reply fields:

get message runner info (BMessageRunner::InitData())

+----------------+---------------------------------------------------------+
| target         | roster                                                  |
+----------------+---------------------------------------------------------+
| message:       | B_REG_GET_MESSAGE_RUNNER_INFO“token”:                   |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| reply          | standard success“interval”:                             |
|                | B_INT64_TYPE“count”:                                    |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| on error:      | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

error reply fields:

Clipboard Handler Requests

add new clipboard to system (BClipboard::BClipboard())

+----------------+---------------------------------------------------------+
| target         | clipboard handler                                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_ADD_CLIPBOARD“name”:                              |
|                | B_STRING_TYPE                                           |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

get clipboard write count (BClipboard::GetSystemCount())

+----------------+---------------------------------------------------------+
| target         | clipboard handler                                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_GET_CLIPBOARD_COUNT“name”:                        |
|                | B_STRING_TYPE                                           |
+----------------+---------------------------------------------------------+
| reply          | standard general result“count”:                         |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

start watching clipboard (BClipboard::StartWatching())

+----------------+---------------------------------------------------------+
| target         | clipboard handler                                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_CLIPBOARD_START_WATCHING“name”:                   |
|                | B_STRING_TYPE“target”:                                  |
|                | B_MESSENGER_TYPE                                        |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

stop watching clipboard (BClipboard::StopWatching())

+----------------+---------------------------------------------------------+
| target         | clipboard handler                                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_CLIPBOARD_STOP_WATCHING“name”:                    |
|                | B_STRING_TYPE“target”:                                  |
|                | B_MESSENGER_TYPE                                        |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

download clipboard data (BClipboard::DownloadFromSystem())

+----------------+---------------------------------------------------------+
| target         | clipboard handler                                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_DOWNLOAD_CLIPBOARD“name”:                         |
|                | B_STRING_TYPE                                           |
+----------------+---------------------------------------------------------+
| reply          | standard general result“data”:                          |
|                | B_MESSAGE_TYPE“data source”:                            |
|                | B_MESSENGER_TYPE“count”:                                |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

upload clipboard data (BClipboard::UploadToSystem())

+----------------+---------------------------------------------------------+
| target         | clipboard handler                                       |
+----------------+---------------------------------------------------------+
| message        | B_REG_UPLOAD_CLIPBOARD“name”:                           |
|                | B_STRING_TYPE “data”:                                   |
|                | B_MESSAGE_TYPE “data source”:                           |
|                | B_MESSENGER_TYPE                                        |
+----------------+---------------------------------------------------------+
| reply          | standard general result“count”:                         |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

Disk Device Requests

get next disk device

+----------------+---------------------------------------------------------+
| target         | disk device manager                                     |
+----------------+---------------------------------------------------------+
| message        | B_REG_NEXT_DISK_DEVICE“cookie”:                         |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+
| reply          | standard general result“device”:                        |
|                | B_MESSAGE_TYPE“cookie”:                                 |
|                | B_INT32_TYPE                                            |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

get disk device



+----------------+---------------------------------------------------------+
| target         | disk device manager                                     |
+----------------+---------------------------------------------------------+
| message        | B_REG_GET_DISK_DEVICE“device_id”:                       |
|                | B_INT32_TYPE“session_id”:                               |
|                | B_INT32_TYPE“partition_id”:            B_INT32_TYPE     |
+----------------+---------------------------------------------------------+
| reply          | standard general result“device”:                        |
|                | B_MESSAGE_TYPE                                          |
+----------------+---------------------------------------------------------+

message fields:

reply fields:

update disk device



+----------------+---------------------------------------------------------+
| target         | disk device manager                                     |
+----------------+---------------------------------------------------------+
| message        | B_REG_UPDATE_DISK_DEVICE“device_id”:                    |
|                | B_INT32_TYPE“session_id”:                               |
|                | B_INT32_TYPE“partition_id”:                             |
|                | B_INT32_TYPE“change_counter”:                           |
|                | B_INT32_TYPE“update_policy”:             B_INT32_TYPE   |
+----------------+---------------------------------------------------------+
| reply          | standard general result“up_to_date”:                    |
|                | B_BOOLEAN_TYPE[ “device”:                               |
|                | B_MESSAGE_TYPE ]                                        |
+----------------+---------------------------------------------------------+

message fields:

The latter two have the same semantics, if the object is a device.

reply fields:

start disk device watching

+----------------+---------------------------------------------------------+
| target         | disk device manager                                     |
+----------------+---------------------------------------------------------+
| message        | B_REG_DEVICE_START_WATCHING“target”:                    |
|                | B_MESSENGER_TYPE“events”:    B_INT32_TYPE               |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields:

stop disk device watching

+----------------+---------------------------------------------------------+
| target         | disk device manager                                     |
+----------------+---------------------------------------------------------+
| message        | B_REG_DEVICE_STOP_WATCHING“target”:    B_MESSENGER_TYPE |
+----------------+---------------------------------------------------------+
| reply          | standard general result                                 |
+----------------+---------------------------------------------------------+
| on error       | B_NO_REPLY (fatal)standard error                        |
+----------------+---------------------------------------------------------+

message fields: