| /*--------------------------------------------------------------------*/ |
| /*--- Solaris-specific kernel interface for the repository cache ---*/ |
| /*--- protocol. vki-solaris-repcache.h ---*/ |
| /*--------------------------------------------------------------------*/ |
| |
| /* |
| This file is part of Valgrind, a dynamic binary instrumentation |
| framework. |
| |
| Copyright (C) 2015-2017 Ivo Raisr |
| ivosh@ivosh.net |
| |
| This program is free software; you can redistribute it and/or |
| modify it under the terms of the GNU General Public License as |
| published by the Free Software Foundation; either version 2 of the |
| License, or (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
| 02111-1307, USA. |
| |
| The GNU General Public License is contained in the file COPYING. |
| */ |
| |
| /* Copyright 2015-2017, Tomas Jedlicka <jedlickat@gmail.com>. */ |
| |
| #ifndef __VKI_SOLARIS_REPCACHE_H |
| #define __VKI_SOLARIS_REPCACHE_H |
| |
| /* From <repcache_protocol.h> which is consolidation private. */ |
| #define VKI_REPOSITORY_DOOR_BASEVER (('R' << 24) | ('e' << 16) | ('p' << 8)) |
| |
| #if (SOLARIS_REPCACHE_PROTOCOL_VERSION == 21) |
| #define VKI_REPOSITORY_DOOR_VERSION (21 + VKI_REPOSITORY_DOOR_BASEVER) |
| enum vki_rep_protocol_requestid { |
| VKI_REP_PROTOCOL_CLOSE = ('C' << 8), |
| VKI_REP_PROTOCOL_ENTITY_SETUP, |
| VKI_REP_PROTOCOL_ENTITY_NAME, |
| VKI_REP_PROTOCOL_ENTITY_PARENT_TYPE, |
| VKI_REP_PROTOCOL_ENTITY_GET_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_GET_PARENT, |
| VKI_REP_PROTOCOL_ENTITY_GET, |
| VKI_REP_PROTOCOL_ENTITY_UPDATE, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_PG, |
| VKI_REP_PROTOCOL_ENTITY_DELETE, |
| VKI_REP_PROTOCOL_ENTITY_RESET, |
| VKI_REP_PROTOCOL_ENTITY_TEARDOWN, |
| VKI_REP_PROTOCOL_ITER_SETUP, |
| VKI_REP_PROTOCOL_ITER_START, |
| VKI_REP_PROTOCOL_ITER_READ, |
| VKI_REP_PROTOCOL_ITER_READ_VALUE, |
| VKI_REP_PROTOCOL_ITER_RESET, |
| VKI_REP_PROTOCOL_ITER_TEARDOWN, |
| VKI_REP_PROTOCOL_NEXT_SNAPLEVEL, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE_NAMED, |
| VKI_REP_PROTOCOL_SNAPSHOT_ATTACH, |
| VKI_REP_PROTOCOL_PROPERTY_GET_TYPE, |
| VKI_REP_PROTOCOL_PROPERTY_GET_VALUE, |
| VKI_REP_PROTOCOL_PROPERTYGRP_SETUP_WAIT, |
| VKI_REP_PROTOCOL_PROPERTYGRP_TX_START, |
| VKI_REP_PROTOCOL_PROPERTYGRP_TX_COMMIT, |
| VKI_REP_PROTOCOL_CLIENT_ADD_NOTIFY, |
| VKI_REP_PROTOCOL_CLIENT_WAIT, |
| VKI_REP_PROTOCOL_BACKUP, |
| VKI_REP_PROTOCOL_SET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_SWITCH, |
| }; |
| #elif (SOLARIS_REPCACHE_PROTOCOL_VERSION == 23) |
| #define VKI_REPOSITORY_DOOR_VERSION (23 + VKI_REPOSITORY_DOOR_BASEVER) |
| enum vki_rep_protocol_requestid { |
| VKI_REP_PROTOCOL_CLOSE = ('C' << 8), |
| VKI_REP_PROTOCOL_ENTITY_SETUP, |
| VKI_REP_PROTOCOL_ENTITY_NAME, |
| VKI_REP_PROTOCOL_ENTITY_PARENT_TYPE, |
| VKI_REP_PROTOCOL_ENTITY_GET_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_GET_PARENT, |
| VKI_REP_PROTOCOL_ENTITY_GET, |
| VKI_REP_PROTOCOL_ENTITY_UPDATE, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_PG, |
| VKI_REP_PROTOCOL_ENTITY_DELETE, |
| VKI_REP_PROTOCOL_ENTITY_UNDELETE, |
| VKI_REP_PROTOCOL_ENTITY_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_DELCUST, |
| VKI_REP_PROTOCOL_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_RESET, |
| VKI_REP_PROTOCOL_ENTITY_TEARDOWN, |
| VKI_REP_PROTOCOL_ITER_SETUP, |
| VKI_REP_PROTOCOL_ITER_START, |
| VKI_REP_PROTOCOL_ITER_READ, |
| VKI_REP_PROTOCOL_ITER_READ_VALUE, |
| VKI_REP_PROTOCOL_ITER_RESET, |
| VKI_REP_PROTOCOL_ITER_TEARDOWN, |
| VKI_REP_PROTOCOL_NEXT_SNAPLEVEL, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE_NAMED, |
| VKI_REP_PROTOCOL_SNAPSHOT_ATTACH, |
| VKI_REP_PROTOCOL_PROPERTY_GET_TYPE, |
| VKI_REP_PROTOCOL_PROPERTY_GET_VALUE, |
| VKI_REP_PROTOCOL_PG_SETUP_WAIT, |
| VKI_REP_PROTOCOL_PG_TX_START, |
| VKI_REP_PROTOCOL_PG_TX_COMMIT, |
| VKI_REP_PROTOCOL_PROP_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_CLIENT_ADD_NOTIFY, |
| VKI_REP_PROTOCOL_CLIENT_WAIT, |
| VKI_REP_PROTOCOL_BACKUP, |
| VKI_REP_PROTOCOL_SET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_UNSET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_SET_TX_DECORATION, |
| VKI_REP_PROTOCOL_SWITCH, |
| VKI_REP_PROTOCOL_DECORATION_GET_LAYER, |
| VKI_REP_PROTOCOL_DECORATION_GET_TYPE, |
| VKI_REP_PROTOCOL_DECORATION_GET_VALUE, |
| VKI_REP_PROTOCOL_DECORATION_GET_BUNDLE, |
| VKI_REP_PROTOCOL_ENTITY_INCONFLICT, |
| VKI_REP_PROTOCOL_ENTITY_IS_MASKED, |
| VKI_REP_PROTOCOL_CLIENT_REMOVE_NOTIFY, |
| }; |
| #elif (SOLARIS_REPCACHE_PROTOCOL_VERSION == 25) |
| #define VKI_REPOSITORY_DOOR_VERSION (25 + VKI_REPOSITORY_DOOR_BASEVER) |
| enum vki_rep_protocol_requestid { |
| VKI_REP_PROTOCOL_CLOSE = ('C' << 8), |
| VKI_REP_PROTOCOL_ENTITY_SETUP, |
| VKI_REP_PROTOCOL_ENTITY_NAME, |
| VKI_REP_PROTOCOL_ENTITY_FMRI, |
| VKI_REP_PROTOCOL_ENTITY_PARENT_TYPE, |
| VKI_REP_PROTOCOL_ENTITY_GET_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_GET_PARENT, |
| VKI_REP_PROTOCOL_ENTITY_GET_ROOT, |
| VKI_REP_PROTOCOL_ENTITY_GET, |
| VKI_REP_PROTOCOL_ENTITY_UPDATE, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_PG, |
| VKI_REP_PROTOCOL_ENTITY_DELETE, |
| VKI_REP_PROTOCOL_ENTITY_UNDELETE, |
| VKI_REP_PROTOCOL_ENTITY_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_DELCUST, |
| VKI_REP_PROTOCOL_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_RESET, |
| VKI_REP_PROTOCOL_ENTITY_TEARDOWN, |
| VKI_REP_PROTOCOL_ITER_SETUP, |
| VKI_REP_PROTOCOL_ITER_START, |
| VKI_REP_PROTOCOL_ITER_READ, |
| VKI_REP_PROTOCOL_ITER_READ_VALUE, |
| VKI_REP_PROTOCOL_ITER_RESET, |
| VKI_REP_PROTOCOL_ITER_TEARDOWN, |
| VKI_REP_PROTOCOL_NEXT_SNAPLEVEL, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE_NAMED, |
| VKI_REP_PROTOCOL_SNAPSHOT_ATTACH, |
| VKI_REP_PROTOCOL_PROPERTY_GET_TYPE, |
| VKI_REP_PROTOCOL_PROPERTY_GET_VALUE, |
| VKI_REP_PROTOCOL_PG_SETUP_WAIT, |
| VKI_REP_PROTOCOL_PG_TX_START, |
| VKI_REP_PROTOCOL_PG_TX_COMMIT, |
| VKI_REP_PROTOCOL_PROP_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_CLIENT_ADD_NOTIFY, |
| VKI_REP_PROTOCOL_CLIENT_WAIT, |
| VKI_REP_PROTOCOL_BACKUP, |
| VKI_REP_PROTOCOL_SET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_UNSET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_SET_TX_DECORATION, |
| VKI_REP_PROTOCOL_SWITCH, |
| VKI_REP_PROTOCOL_DECORATION_GET_LAYER, |
| VKI_REP_PROTOCOL_DECORATION_GET_TYPE, |
| VKI_REP_PROTOCOL_DECORATION_GET_VALUE, |
| VKI_REP_PROTOCOL_DECORATION_GET_BUNDLE, |
| VKI_REP_PROTOCOL_ENTITY_INCONFLICT, |
| VKI_REP_PROTOCOL_ENTITY_IS_MASKED, |
| VKI_REP_PROTOCOL_CLIENT_REMOVE_NOTIFY, |
| }; |
| #elif (SOLARIS_REPCACHE_PROTOCOL_VERSION == 26) |
| #define VKI_REPOSITORY_DOOR_VERSION (26 + VKI_REPOSITORY_DOOR_BASEVER) |
| enum vki_rep_protocol_requestid { |
| VKI_REP_PROTOCOL_CLOSE = ('C' << 8), |
| VKI_REP_PROTOCOL_ENTITY_SETUP, |
| VKI_REP_PROTOCOL_ENTITY_NAME, |
| VKI_REP_PROTOCOL_ENTITY_FMRI, |
| VKI_REP_PROTOCOL_ENTITY_PARENT_TYPE, |
| VKI_REP_PROTOCOL_ENTITY_GET_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_GET_PARENT, |
| VKI_REP_PROTOCOL_ENTITY_GET_ROOT, |
| VKI_REP_PROTOCOL_ENTITY_GET, |
| VKI_REP_PROTOCOL_ENTITY_UPDATE, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_PG, |
| VKI_REP_PROTOCOL_ENTITY_DELETE, |
| VKI_REP_PROTOCOL_ENTITY_UNDELETE, |
| VKI_REP_PROTOCOL_ENTITY_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_DELCUST, |
| VKI_REP_PROTOCOL_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_RESET, |
| VKI_REP_PROTOCOL_ENTITY_TEARDOWN, |
| VKI_REP_PROTOCOL_ITER_SETUP, |
| VKI_REP_PROTOCOL_ITER_START, |
| VKI_REP_PROTOCOL_ITER_READ, |
| VKI_REP_PROTOCOL_ITER_READ_VALUE, |
| VKI_REP_PROTOCOL_ITER_RESET, |
| VKI_REP_PROTOCOL_ITER_TEARDOWN, |
| VKI_REP_PROTOCOL_NEXT_SNAPLEVEL, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE_NAMED, |
| VKI_REP_PROTOCOL_SNAPSHOT_ATTACH, |
| VKI_REP_PROTOCOL_PROPERTY_GET_TYPE, |
| VKI_REP_PROTOCOL_PROPERTY_GET_VALUE, |
| VKI_REP_PROTOCOL_PG_SETUP_WAIT, |
| VKI_REP_PROTOCOL_PG_TX_START, |
| VKI_REP_PROTOCOL_PG_TX_COMMIT, |
| VKI_REP_PROTOCOL_PROP_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_CLIENT_ADD_NOTIFY, |
| VKI_REP_PROTOCOL_CLIENT_WAIT, |
| VKI_REP_PROTOCOL_BACKUP, |
| VKI_REP_PROTOCOL_SET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_UNSET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_SET_TX_DECORATION, |
| VKI_REP_PROTOCOL_SWITCH, |
| VKI_REP_PROTOCOL_DECORATION_GET_LAYER, |
| VKI_REP_PROTOCOL_DECORATION_GET_TYPE, |
| VKI_REP_PROTOCOL_DECORATION_GET_VALUE, |
| VKI_REP_PROTOCOL_DECORATION_GET_BUNDLE, |
| VKI_REP_PROTOCOL_ENTITY_INCONFLICT, |
| VKI_REP_PROTOCOL_ENTITY_IS_MASKED, |
| VKI_REP_PROTOCOL_CLIENT_REMOVE_NOTIFY, |
| VKI_REP_PROTOCOL_MAX_REQUEST |
| }; |
| #elif (SOLARIS_REPCACHE_PROTOCOL_VERSION == 27) |
| #define VKI_REPOSITORY_DOOR_VERSION (27 + VKI_REPOSITORY_DOOR_BASEVER) |
| enum vki_rep_protocol_requestid { |
| VKI_REP_PROTOCOL_CLOSE = ('C' << 8), |
| VKI_REP_PROTOCOL_ENTITY_SETUP, |
| VKI_REP_PROTOCOL_ENTITY_NAME, |
| VKI_REP_PROTOCOL_ENTITY_FMRI, |
| VKI_REP_PROTOCOL_ENTITY_PARENT_TYPE, |
| VKI_REP_PROTOCOL_ENTITY_GET_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_GET_PARENT, |
| VKI_REP_PROTOCOL_ENTITY_GET_ROOT, |
| VKI_REP_PROTOCOL_ENTITY_GET, |
| VKI_REP_PROTOCOL_ENTITY_UPDATE, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_PG, |
| VKI_REP_PROTOCOL_ENTITY_DELETE, |
| VKI_REP_PROTOCOL_ENTITY_UNDELETE, |
| VKI_REP_PROTOCOL_ENTITY_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_DELCUST, |
| VKI_REP_PROTOCOL_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_RESET, |
| VKI_REP_PROTOCOL_ENTITY_TEARDOWN, |
| VKI_REP_PROTOCOL_ITER_SETUP, |
| VKI_REP_PROTOCOL_ITER_START, |
| VKI_REP_PROTOCOL_ITER_READ, |
| VKI_REP_PROTOCOL_ITER_READ_VALUE, |
| VKI_REP_PROTOCOL_ITER_RESET, |
| VKI_REP_PROTOCOL_ITER_TEARDOWN, |
| VKI_REP_PROTOCOL_NEXT_SNAPLEVEL, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE_NAMED, |
| VKI_REP_PROTOCOL_SNAPSHOT_ATTACH, |
| VKI_REP_PROTOCOL_PROPERTY_GET_TYPE, |
| VKI_REP_PROTOCOL_PROPERTY_GET_VALUE, |
| VKI_REP_PROTOCOL_PG_SETUP_WAIT, |
| VKI_REP_PROTOCOL_PG_TX_START, |
| VKI_REP_PROTOCOL_PG_TX_COMMIT, |
| VKI_REP_PROTOCOL_PROP_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_CLIENT_ADD_NOTIFY, |
| VKI_REP_PROTOCOL_CLIENT_WAIT, |
| VKI_REP_PROTOCOL_BACKUP, |
| VKI_REP_PROTOCOL_SET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_UNSET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_SET_TX_DECORATION, |
| VKI_REP_PROTOCOL_SWITCH, |
| VKI_REP_PROTOCOL_DECORATION_GET_LAYER, |
| VKI_REP_PROTOCOL_DECORATION_GET_TYPE, |
| VKI_REP_PROTOCOL_DECORATION_GET_VALUE, |
| VKI_REP_PROTOCOL_DECORATION_GET_BUNDLE, |
| VKI_REP_PROTOCOL_ENTITY_INCONFLICT, |
| VKI_REP_PROTOCOL_ENTITY_IS_MASKED, |
| VKI_REP_PROTOCOL_CLIENT_REMOVE_NOTIFY, |
| VKI_REP_PROTOCOL_MAX_REQUEST |
| }; |
| #elif (SOLARIS_REPCACHE_PROTOCOL_VERSION == 31) |
| #define VKI_REPOSITORY_DOOR_VERSION (31 + VKI_REPOSITORY_DOOR_BASEVER) |
| enum vki_rep_protocol_requestid { |
| VKI_REP_PROTOCOL_CLOSE = ('C' << 8), |
| VKI_REP_PROTOCOL_ENTITY_SETUP, |
| VKI_REP_PROTOCOL_ENTITY_NAME, |
| VKI_REP_PROTOCOL_ENTITY_PARENT_TYPE, |
| VKI_REP_PROTOCOL_ENTITY_GET_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_GET_CHILD_COMPOSED, |
| VKI_REP_PROTOCOL_ENTITY_GET_PARENT, |
| VKI_REP_PROTOCOL_ENTITY_GET_ROOT, |
| VKI_REP_PROTOCOL_ENTITY_GET, |
| VKI_REP_PROTOCOL_ENTITY_UPDATE, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_CHILD, |
| VKI_REP_PROTOCOL_ENTITY_CREATE_PG, |
| VKI_REP_PROTOCOL_ENTITY_DELETE, |
| VKI_REP_PROTOCOL_ENTITY_UNDELETE, |
| VKI_REP_PROTOCOL_ENTITY_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_DELCUST, |
| VKI_REP_PROTOCOL_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_ENTITY_RESET, |
| VKI_REP_PROTOCOL_ENTITY_TEARDOWN, |
| VKI_REP_PROTOCOL_ITER_SETUP, |
| VKI_REP_PROTOCOL_ITER_START, |
| VKI_REP_PROTOCOL_ITER_READ, |
| VKI_REP_PROTOCOL_ITER_READ_VALUE, |
| VKI_REP_PROTOCOL_ITER_RESET, |
| VKI_REP_PROTOCOL_ITER_TEARDOWN, |
| VKI_REP_PROTOCOL_NEXT_SNAPLEVEL, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE, |
| VKI_REP_PROTOCOL_SNAPSHOT_TAKE_NAMED, |
| VKI_REP_PROTOCOL_SNAPSHOT_ATTACH, |
| VKI_REP_PROTOCOL_PROPERTY_GET_TYPE, |
| VKI_REP_PROTOCOL_PROPERTY_GET_VALUE, |
| VKI_REP_PROTOCOL_PG_SETUP_WAIT, |
| VKI_REP_PROTOCOL_PG_TX_START, |
| VKI_REP_PROTOCOL_PG_TX_COMMIT, |
| VKI_REP_PROTOCOL_PROP_BUNDLE_REMOVE, |
| VKI_REP_PROTOCOL_CLIENT_ADD_NOTIFY, |
| VKI_REP_PROTOCOL_CLIENT_WAIT, |
| VKI_REP_PROTOCOL_BACKUP, |
| VKI_REP_PROTOCOL_SET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_UNSET_AUDIT_ANNOTATION, |
| VKI_REP_PROTOCOL_SET_LAYER, |
| VKI_REP_PROTOCOL_SWITCH, |
| VKI_REP_PROTOCOL_DECORATION_GET_LAYER, |
| VKI_REP_PROTOCOL_DECORATION_GET_TYPE, |
| VKI_REP_PROTOCOL_DECORATION_GET_VALUE, |
| VKI_REP_PROTOCOL_DECORATION_GET_BUNDLE, |
| VKI_REP_PROTOCOL_ENTITY_INCONFLICT, |
| VKI_REP_PROTOCOL_ENTITY_IS_MASKED, |
| VKI_REP_PROTOCOL_CLIENT_REMOVE_NOTIFY, |
| VKI_REP_PROTOCOL_MAX_REQUEST |
| }; |
| #else |
| #error Unsupported repcache protocol version |
| #endif |
| |
| /* The following definitions are currently stable across all repcache protocol |
| versions. If there is any change to them, they need to be versioned |
| properly so that Valgrind works on older versions. */ |
| |
| #define VKI_REPOSITORY_DOOR_NAME "/system/volatile/repository_door" |
| #define VKI_REP_PROTOCOL_NAME_LEN 120 |
| typedef vki_uint32_t vki_repcache_entity_id_t; |
| enum vki_repository_door_requestid { |
| VKI_REPOSITORY_DOOR_REQUEST_CONNECT = (('M' << 8) | 1) |
| }; |
| enum vki_repository_door_statusid { |
| VKI_REPOSITORY_DOOR_SUCCESS = 0, |
| VKI_REPOSITORY_DOOR_FAIL_BAD_REQUEST = 1, |
| VKI_REPOSITORY_DOOR_FAIL_VERSION_MISMATCH = 2, |
| VKI_REPOSITORY_DOOR_FAIL_BAD_FLAG = 3, |
| VKI_REPOSITORY_DOOR_FAIL_NO_RESOURCES = 4, |
| VKI_REPOSITORY_DOOR_FAIL_PERMISSION_DENIED = 5 |
| }; |
| typedef struct vki_repository_door_request { |
| vki_uint32_t rdr_version; |
| enum vki_repository_door_requestid rdr_request; |
| vki_uint32_t rdr_flags; |
| vki_uint32_t rdr_debug; |
| } vki_repository_door_request_t; |
| typedef struct vki_repository_door_response { |
| enum vki_repository_door_statusid rdr_status; |
| } vki_repository_door_response_t; |
| typedef struct vki_rep_protocol_request { |
| enum vki_rep_protocol_requestid rpr_request; |
| } vki_rep_protocol_request_t; |
| struct vki_rep_protocol_entity_setup { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| vki_uint32_t rpr_entitytype; |
| }; |
| struct vki_rep_protocol_entity_name { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| vki_uint32_t rpr_answertype; |
| }; |
| struct vki_rep_protocol_entity_fmri { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| }; |
| struct vki_rep_protocol_entity_get { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| vki_uint32_t rpr_object; |
| }; |
| struct vki_rep_protocol_entity_get_child { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| vki_repcache_entity_id_t rpr_childid; |
| char rpr_name[VKI_REP_PROTOCOL_NAME_LEN]; |
| }; |
| struct vki_rep_protocol_entity_parent { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| vki_repcache_entity_id_t rpr_outid; |
| }; |
| struct vki_rep_protocol_entity_root { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| vki_repcache_entity_id_t rpr_outid; |
| }; |
| struct vki_rep_protocol_entity_reset { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| }; |
| struct vki_rep_protocol_entity_teardown { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| }; |
| struct vki_rep_protocol_iter_read { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_uint32_t rpr_iterid; |
| vki_uint32_t rpr_sequence; |
| vki_repcache_entity_id_t rpr_entityid; |
| }; |
| struct vki_rep_protocol_iter_read_value { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_uint32_t rpr_iterid; |
| vki_uint32_t rpr_sequence; |
| }; |
| struct vki_rep_protocol_iter_request { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_uint32_t rpr_iterid; |
| }; |
| struct vki_rep_protocol_iter_start { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_uint32_t rpr_iterid; |
| vki_repcache_entity_id_t rpr_entity; |
| vki_uint32_t rpr_itertype; |
| vki_uint32_t rpr_flags; |
| char rpr_pattern[VKI_REP_PROTOCOL_NAME_LEN]; |
| }; |
| struct vki_rep_protocol_property_request { |
| enum vki_rep_protocol_requestid rpr_request; |
| vki_repcache_entity_id_t rpr_entityid; |
| }; |
| |
| |
| |
| |
| #endif /* __VKI_SOLARIS_REPCACHE_H */ |