Protocols ========= Standard Replies ---------------- standard success reply message reply: B_REG_SUCCESS [ ] fields: - : Request-specific fields. ----------------------------------------------------------------------- standard error reply message reply: B_REG_ERROR "error": B_INT32_TYPE [ "error_description": B_STRING_TYPE ] [ ] fields: - "error": The error code (a status_t). - "error_description": Optional human readable description. - : Request-specific fields. ----------------------------------------------------------------------- standard general result reply message reply: B_REG_RESULT "result": B_INT32_TYPE [ "result_description": B_STRING_TYPE ] [ ] fields: - "result": The result value (a status_t). - "result_description": Optional human readable description. - : Request-specific 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_MESSENGER/B_REG_GET_CLIPBOARD_MESSENGER /B_REG_GET_DISK_DEVICE_MESSENGER reply: standard success "messenger": B_MESSENGER_TYPE on error: - B_NO_REPLY (fatal) - standard error (fatal) reply fields: - "messenger": The requested messenger. ----------------------------------------------------------------------- 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: - "reboot": If true, the system reboots instead of turning the power off. - "confirm": If true, the user will be asked to confirm to shut down the system. - "synchronously": If true, the request sender gets a reply only, if the shutdown process fails. Otherwise the reply will be sent right before asking the user for confirmation (if desired). ----------------------------------------------------------------------- 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: - "signature": The application signature. - "ref": An entry_ref to the application executable. - "flags": The application flags. - "team": The application team (team_id). - "port": The app looper port (port_id). - "full_registration": Whether full or pre-registration is requested. reply fields: - "token": If pre-registration was requested (uint32). Unique token to be passed to BRoster::SetThreadAndTeam(). - "other_team": For single/exclusive launch applications that are launched the second time. The team ID of the already running instance (team_id). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_ENTRY_NOT_FOUND: The entry_ref doesn't refer to a file. - B_ALREADY_RUNNING: For single/exclusive launch applications that are launched the second time. - B_REG_ALREADY_REGISTERED: The team is already registered. - ... ----------------------------------------------------------------------- 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: - "team": The application team (team_id). - "thread": The application looper thread (thread_id). - "port": The app looper port (port_id). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_REG_APP_NOT_PRE_REGISTERED: The team is unknown to the roster or the application is already fully registered. - ... ----------------------------------------------------------------------- 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: - "ref": An entry_ref to the application executable. - "team": The application team (team_id). - "token": The application's preregistration token. reply fields: - "registered": true, if the app is (pre-)registered, false otherwise. - "pre-registered": true, if the app is pre-registered, false otherwise. - "app_info": Flattened app info, if the app is known (i.e. (pre-)registered). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_ENTRY_NOT_FOUND: The entry_ref doesn't refer to a file. - ... ----------------------------------------------------------------------- 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: - "token": The token BRoster::AddApplication() returned (uint32). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_REG_APP_NOT_PRE_REGISTERED: The token does not identify a pre-registered application. - ... ----------------------------------------------------------------------- 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: - "team": The application team (team_id). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_REG_APP_NOT_REGISTERED: The team is unknown to the roster. - ... ----------------------------------------------------------------------- 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: - "token": The token BRoster::AddApplication() returned (uint32). - "team": The application team (team_id). - "thread": The application looper thread (thread_id). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_REG_APP_NOT_PRE_REGISTERED: The token does not identify a pre-registered application. - ... ----------------------------------------------------------------------- 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: - "team": The application team (team_id). - "signature": The application's new signature. error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_REG_APP_NOT_REGISTERED: The team does not identify a registered application. - ... ----------------------------------------------------------------------- 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: - "team": The application team (team_id). - "ref": An entry_ref to the application executable. - "signature": The application signature. - If both are omitted the active application is referred to. reply fields: - "app_info": The requested app_info (flat_app_info). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_BAD_TEAM_ID: The supplied team ID does not identify a registered application. - B_ERROR: - An entry_ref or a signature has been supplied and no such application is currently running. - No team ID has been supplied and currently there is no active application. - ... ----------------------------------------------------------------------- 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: - "signature": The application signature. reply fields: - "teams": The requested list of team IDs (team_id). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "team": The application team (team_id). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_BAD_TEAM_ID: The supplied team ID does not identify a registered application. - ... ----------------------------------------------------------------------- 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: - "team": The requesting team (team_id). - "message": The message to be broadcast. - "reply_target": The reply target for the message. error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "target": The target the event messages shall be sent to. - "events": Specifies the events the caller is interested in (uint32). error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "target": The target that shall not longer receive any event messages. error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "type": The mime type reply fields: - "result": - B_OK: success - B_FILE_EXISTS: the type is already installed - ... ----------------------------------------------------------------------- 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: - "type": The mime type reply fields: - "result": - B_OK: success - B_ENTRY_NOT_FOUND: the type was not found - (other error code): failure ----------------------------------------------------------------------- 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: - "type": The mime type - "which": Which attribute to set. May be one of the following: "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: - "result": - B_OK: success - (error code): failure ----------------------------------------------------------------------- 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: - "type": The mime type - "which": Which attribute to delete. May be one of the following: "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: - "result": - B_OK: success - B_ENTRY_NOT_FOUND: no such attribute exists, or the type is not installed - (other error code): failure ----------------------------------------------------------------------- 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: - "target": The BMessenger subscribing to the monitor service reply fields: - "result": - B_OK: success - (error code): failure ----------------------------------------------------------------------- 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: - "target": The BMessenger unsubscribing from the monitor service reply fields: - "result": - B_OK: success - B_ENTRY_NOT_FOUND: the given BMessenger was not subscribed to the service - (other error code): failure ----------------------------------------------------------------------- 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: - "entry": The base entry to update. - "recursive": If true and "entry" is a directory, update all entries below "entry" in the hierarchy. - "synchronous": If true, the call will block until the operation is completed. If false, the call will return immediately and the operation will run asynchronously in another thread. - "force": Specifies how to handle entries for which a BEOS:TYPE attribute already exists. Valid values are B_UPDATE_MIME_INFO_{NO_FORCE, FORCE_KEEP_TYPE, FORCE_UPDATE_ALL}. reply fields: - "result": - B_OK: The asynchronous update_mime_info() call has been successfully started (and may still be running). - (error code): failure ----------------------------------------------------------------------- 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: - "entry": The base entry to update. - "recursive": If true and "entry" is a directory, update all entries below "entry" in the hierarchy. - "synchronous": If true, the call will block until the operation is completed. If false, the call will return immediately and the operation will run asynchronously in another thread. - "force": If != 0, also update entries for which meta app information already exists. reply fields: - "result": - B_OK: The asynchronous update_mime_info() call has been successfully started (and may still be running). - (error code): failure ----------------------------------------------------------------------- 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: - "team": ID of the team owning the BMessageRunner (team_id). - "target": The message target. - "message": The message to be sent to the target. - "interval": Period of time before the first message is sent and between messages (if more than one shall be sent) in microseconds. - "count": Specifies how many times the message shall be sent. A value less than 0 for an unlimited number of repetitions. - "reply_target": Target replies to the delivered message(s) shall be sent to. reply fields: - "token": Unique token identifying the message runner. error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "token": Unique token identifying the message runner. Returned by the B_REG_REGISTER_MESSAGE_RUNNER request. error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "token": Unique token identifying the message runner. Returned by the B_REG_REGISTER_MESSAGE_RUNNER request. - "interval": Period of time before the first message is sent and between messages (if more than one shall be sent) in microseconds. - "count": Specifies how many times the message shall be sent. A value less than 0 for an unlimited number of repetitions. error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "token": Unique token identifying the message runner. Returned by the B_REG_REGISTER_MESSAGE_RUNNER request. reply fields: - "interval": Period of time before the first message is sent and between messages (if more than one shall be sent) in microseconds. - "count": Specifies how many times the message still has to be sent. A value less than 0 for an unlimited number of repetitions. error reply fields: - "error": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "name": Name used to identify the particular clipboard to add reply fields: - "result": - B_OK: B - B_BAD_VALUE: name field was not specified in message ----------------------------------------------------------------------- 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: - "name": Name used to identify the particular clipboard reply fields: - "result": - B_OK: success - B_BAD_VALUE: no name / no valid name specified in message - "count": - number of times this clipboard has been written to ----------------------------------------------------------------------- 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: - "name": Name used to identify the particular clipboard - "target": Messenger pointing to the target to notify reply fields: - "result": - B_OK: success - B_BAD_VALUE: no name / no valid name specified in message no target specified ----------------------------------------------------------------------- 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: - "name": Name used to identify the particular clipboard - "target": Messenger pointing to the target to remove from the notify list reply fields: - "result": - B_OK: success - B_BAD_VALUE: no name / no valid name specified in message no target specified ----------------------------------------------------------------------- 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: - "name": Name used to identify the particular clipboard reply fields: - "result": - B_OK: success - B_BAD_VALUE: no name / no valid name specified in message no target specified - "data": - message with Data fields containing the contents of the clipboard - "data source": - messenger to the be_app_messenger of the application which last wrote data - "count": - number of times this clipboard has been written to ----------------------------------------------------------------------- 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: - "name": Name used to identify the particular clipboard - "data": - message with Data fields containing the contents of the clipboard - "data source": - messenger to the be_app_messenger of the application which last wrote data reply fields: - "result": - B_OK: success - B_BAD_VALUE: no name / no valid name specified in message no target specified - "count": - number of times this clipboard has been written to ----------------------------------------------------------------------- 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: - "cookie": An iteration cookie. Initially 0. reply fields: - "device": Archived BDiskDevice info. - "cookie": Next value for the iteration cookie. - "result": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_ENTRY_NOT_FOUND: Iteration finished. - ... ----------------------------------------------------------------------- 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: - "device_id": ID of the device to be retrieved. - "session_id": ID of session whose device shall be retrieved. - "partition_id": ID of partition whose device shall be retrieved. reply fields: - "device": Archived BDiskDevice info. - "result": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_ENTRY_NOT_FOUND: A device/session/partition with that ID could not be found. - ... ----------------------------------------------------------------------- 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: - "device_id": ID of the device to be retrieved. - "session_id": ID of session whose device shall be retrieved. - "partition_id": ID of partition whose device shall be retrieved. - "change_counter": Change counter of the object (or device in case of B_REG_DEVICE_UPDATE_DEVICE_CHANGED update policy) in question. - "update_policy": (uint32) B_REG_DEVICE_UPDATE_CHECK: Check only, if the object is up to date. B_REG_DEVICE_UPDATE_CHANGED: Update only, if the object has changed. B_REG_DEVICE_UPDATE_DEVICE_CHANGED: Update, if the device has changed, even if the partition/session has not. The latter two have the same semantics, if the object is a device. reply fields: - "up_to_date": true, if the object (and for B_REG_DEVICE_UPDATE_DEVICE_CHANGED also the device) is already up to date, false otherwise. - "device": Archived BDiskDevice info. - "result": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - B_ENTRY_NOT_FOUND: A device/session/partition with that ID could not be found. - ... ----------------------------------------------------------------------- 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: - "target": The target the event messages shall be sent to. - "events": Specifies the events the caller is interested in (uint32). - "result": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... ----------------------------------------------------------------------- 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: - "target": The target that shall not longer receive any event messages. - "result": - B_BAD_VALUE: A request message field is missing or contains an invalid value. - ... -----------------------------------------------------------------------