💾 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
⬅️ Previous capture (2023-09-28)
-=-=-=-=-=-=-
reply: B_REG_SUCCESS
fields:
reply: B_REG_ERROR
fields:
reply: B_REG_RESULT
fields:
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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | target | mime manager (BRoster::fMimeMess) | +----------------+---------------------------------------------------------+ | message | B_REG_MIME_INSTALL“type”: B_STRING_TYPE | +----------------+---------------------------------------------------------+ | reply | standard general result | +----------------+---------------------------------------------------------+
message fields:
reply fields:
+----------------+---------------------------------------------------------+ | target | mime manager (BRoster::fMimeMess) | +----------------+---------------------------------------------------------+ | message | B_REG_MIME_DELETE“type”: B_STRING_TYPE | +----------------+---------------------------------------------------------+ | reply | standard general result | +----------------+---------------------------------------------------------+
message fields:
reply fields:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | target | mime manager (BRoster::fMimeMess) | +----------------+---------------------------------------------------------+ | message | B_REG_MIME_START_WATCHING“target”: B_MESSENGER_TYPE | +----------------+---------------------------------------------------------+ | reply | standard general result | +----------------+---------------------------------------------------------+
message fields:
reply fields:
+----------------+---------------------------------------------------------+ | target | mime manager (BRoster::fMimeMess) | +----------------+---------------------------------------------------------+ | message | B_REG_MIME_STOP_WATCHING“target”: B_MESSENGER_TYPE | +----------------+---------------------------------------------------------+ | reply | standard general result | +----------------+---------------------------------------------------------+
message fields:
reply fields:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+-------------------------------------------------------------------------------+ | target | thread manager/mime manager (MIMEManager::fThreadManager/BRoster::fMimeMess) | +----------------+-------------------------------------------------------------------------------+ | message | B_REG_MIME_UPDATE_THREAD_FINISHED | +----------------+-------------------------------------------------------------------------------+ | reply | none (message should be sent asynchronously) | +----------------+-------------------------------------------------------------------------------+
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | target | clipboard handler | +----------------+---------------------------------------------------------+ | message | B_REG_ADD_CLIPBOARD“name”: | | | B_STRING_TYPE | +----------------+---------------------------------------------------------+ | reply | standard general result | +----------------+---------------------------------------------------------+
message fields:
reply fields:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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:
+----------------+---------------------------------------------------------+ | 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 | 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: