534 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			534 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto2";
 | 
						|
 | 
						|
package google.protobuf;
 | 
						|
 | 
						|
option go_package = "google.golang.org/protobuf/types/descriptorpb";
 | 
						|
option java_package = "com.google.protobuf";
 | 
						|
option java_outer_classname = "DescriptorProtos";
 | 
						|
option csharp_namespace = "Google.Protobuf.Reflection";
 | 
						|
option objc_class_prefix = "GPB";
 | 
						|
option cc_enable_arenas = true;
 | 
						|
option optimize_for = "SPEED";
 | 
						|
 | 
						|
message FileDescriptorSet {
 | 
						|
 | 
						|
    repeated FileDescriptorProto file = 1;
 | 
						|
 | 
						|
    extensions 536000000;
 | 
						|
}
 | 
						|
 | 
						|
enum Edition {
 | 
						|
 | 
						|
    EDITION_UNKNOWN = 0;
 | 
						|
    EDITION_LEGACY = 900;
 | 
						|
    EDITION_PROTO2 = 998;
 | 
						|
    EDITION_PROTO3 = 999;
 | 
						|
    EDITION_2023 = 1000;
 | 
						|
    EDITION_2024 = 1001;
 | 
						|
    EDITION_1_TEST_ONLY = 1;
 | 
						|
    EDITION_2_TEST_ONLY = 2;
 | 
						|
    EDITION_99997_TEST_ONLY = 99997;
 | 
						|
    EDITION_99998_TEST_ONLY = 99998;
 | 
						|
    EDITION_99999_TEST_ONLY = 99999;
 | 
						|
    EDITION_MAX = 2147483647;
 | 
						|
}
 | 
						|
 | 
						|
message FileDescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    optional string package = 2;
 | 
						|
    repeated string dependency = 3;
 | 
						|
    repeated int32 public_dependency = 10;
 | 
						|
    repeated int32 weak_dependency = 11;
 | 
						|
    repeated string option_dependency = 15;
 | 
						|
    repeated DescriptorProto message_type = 4;
 | 
						|
    repeated EnumDescriptorProto enum_type = 5;
 | 
						|
    repeated ServiceDescriptorProto service = 6;
 | 
						|
    repeated FieldDescriptorProto extension = 7;
 | 
						|
    optional FileOptions options = 8;
 | 
						|
    optional SourceCodeInfo source_code_info = 9;
 | 
						|
    optional string syntax = 12;
 | 
						|
    optional Edition edition = 14;
 | 
						|
}
 | 
						|
 | 
						|
message DescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    repeated FieldDescriptorProto field = 2;
 | 
						|
    repeated FieldDescriptorProto extension = 6;
 | 
						|
    repeated DescriptorProto nested_type = 3;
 | 
						|
    repeated EnumDescriptorProto enum_type = 4;
 | 
						|
    repeated ExtensionRange extension_range = 5;
 | 
						|
    repeated OneofDescriptorProto oneof_decl = 8;
 | 
						|
    optional MessageOptions options = 7;
 | 
						|
    repeated ReservedRange reserved_range = 9;
 | 
						|
    repeated string reserved_name = 10;
 | 
						|
    optional SymbolVisibility visibility = 11;
 | 
						|
 | 
						|
    message ExtensionRange {
 | 
						|
 | 
						|
        optional int32 start = 1;
 | 
						|
        optional int32 end = 2;
 | 
						|
        optional ExtensionRangeOptions options = 3;
 | 
						|
    }
 | 
						|
 | 
						|
    message ReservedRange {
 | 
						|
 | 
						|
        optional int32 start = 1;
 | 
						|
        optional int32 end = 2;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
message ExtensionRangeOptions {
 | 
						|
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
    repeated Declaration declaration = 2 [retention="RETENTION_SOURCE"];
 | 
						|
    optional FeatureSet features = 50;
 | 
						|
    optional VerificationState verification = 3 [default=UNVERIFIED, retention="RETENTION_SOURCE"];
 | 
						|
 | 
						|
    message Declaration {
 | 
						|
 | 
						|
        optional int32 number = 1;
 | 
						|
        optional string full_name = 2;
 | 
						|
        optional string type = 3;
 | 
						|
        optional bool reserved = 5;
 | 
						|
        optional bool repeated = 6;
 | 
						|
 | 
						|
        reserved 4;
 | 
						|
    }
 | 
						|
 | 
						|
    enum VerificationState {
 | 
						|
 | 
						|
        DECLARATION = 0;
 | 
						|
        UNVERIFIED = 1;
 | 
						|
    }
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
}
 | 
						|
 | 
						|
message FieldDescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    optional int32 number = 3;
 | 
						|
    optional Label label = 4;
 | 
						|
    optional Type type = 5;
 | 
						|
    optional string type_name = 6;
 | 
						|
    optional string extendee = 2;
 | 
						|
    optional string default_value = 7;
 | 
						|
    optional int32 oneof_index = 9;
 | 
						|
    optional string json_name = 10;
 | 
						|
    optional FieldOptions options = 8;
 | 
						|
    optional bool proto3_optional = 17;
 | 
						|
 | 
						|
    enum Type {
 | 
						|
 | 
						|
        TYPE_DOUBLE = 1;
 | 
						|
        TYPE_FLOAT = 2;
 | 
						|
        TYPE_INT64 = 3;
 | 
						|
        TYPE_UINT64 = 4;
 | 
						|
        TYPE_INT32 = 5;
 | 
						|
        TYPE_FIXED64 = 6;
 | 
						|
        TYPE_FIXED32 = 7;
 | 
						|
        TYPE_BOOL = 8;
 | 
						|
        TYPE_STRING = 9;
 | 
						|
        TYPE_GROUP = 10;
 | 
						|
        TYPE_MESSAGE = 11;
 | 
						|
        TYPE_BYTES = 12;
 | 
						|
        TYPE_UINT32 = 13;
 | 
						|
        TYPE_ENUM = 14;
 | 
						|
        TYPE_SFIXED32 = 15;
 | 
						|
        TYPE_SFIXED64 = 16;
 | 
						|
        TYPE_SINT32 = 17;
 | 
						|
        TYPE_SINT64 = 18;
 | 
						|
    }
 | 
						|
 | 
						|
    enum Label {
 | 
						|
 | 
						|
        LABEL_OPTIONAL = 1;
 | 
						|
        LABEL_REPEATED = 3;
 | 
						|
        LABEL_REQUIRED = 2;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
message OneofDescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    optional OneofOptions options = 2;
 | 
						|
}
 | 
						|
 | 
						|
message EnumDescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    repeated EnumValueDescriptorProto value = 2;
 | 
						|
    optional EnumOptions options = 3;
 | 
						|
    repeated EnumReservedRange reserved_range = 4;
 | 
						|
    repeated string reserved_name = 5;
 | 
						|
    optional SymbolVisibility visibility = 6;
 | 
						|
 | 
						|
    message EnumReservedRange {
 | 
						|
 | 
						|
        optional int32 start = 1;
 | 
						|
        optional int32 end = 2;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
message EnumValueDescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    optional int32 number = 2;
 | 
						|
    optional EnumValueOptions options = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ServiceDescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    repeated MethodDescriptorProto method = 2;
 | 
						|
    optional ServiceOptions options = 3;
 | 
						|
}
 | 
						|
 | 
						|
message MethodDescriptorProto {
 | 
						|
 | 
						|
    optional string name = 1;
 | 
						|
    optional string input_type = 2;
 | 
						|
    optional string output_type = 3;
 | 
						|
    optional MethodOptions options = 4;
 | 
						|
    optional bool client_streaming = 5;
 | 
						|
    optional bool server_streaming = 6;
 | 
						|
}
 | 
						|
 | 
						|
message FileOptions {
 | 
						|
 | 
						|
    optional string java_package = 1;
 | 
						|
    optional string java_outer_classname = 8;
 | 
						|
    optional bool java_multiple_files = 10;
 | 
						|
    optional bool java_generate_equals_and_hash = 20 [deprecated=true];
 | 
						|
    optional bool java_string_check_utf8 = 27;
 | 
						|
    optional OptimizeMode optimize_for = 9 [default=SPEED];
 | 
						|
    optional string go_package = 11;
 | 
						|
    optional bool cc_generic_services = 16;
 | 
						|
    optional bool java_generic_services = 17;
 | 
						|
    optional bool py_generic_services = 18;
 | 
						|
    optional bool deprecated = 23;
 | 
						|
    optional bool cc_enable_arenas = 31 [default=true];
 | 
						|
    optional string objc_class_prefix = 36;
 | 
						|
    optional string csharp_namespace = 37;
 | 
						|
    optional string swift_prefix = 39;
 | 
						|
    optional string php_class_prefix = 40;
 | 
						|
    optional string php_namespace = 41;
 | 
						|
    optional string php_metadata_namespace = 44;
 | 
						|
    optional string ruby_package = 45;
 | 
						|
    optional FeatureSet features = 50;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    enum OptimizeMode {
 | 
						|
 | 
						|
        SPEED = 1;
 | 
						|
        CODE_SIZE = 2;
 | 
						|
        LITE_RUNTIME = 3;
 | 
						|
    }
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
 | 
						|
    reserved 42, "php_generic_services", 38;
 | 
						|
}
 | 
						|
 | 
						|
message MessageOptions {
 | 
						|
 | 
						|
    optional bool message_set_wire_format = 1;
 | 
						|
    optional bool no_standard_descriptor_accessor = 2;
 | 
						|
    optional bool deprecated = 3;
 | 
						|
    optional bool map_entry = 7;
 | 
						|
    optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated=true];
 | 
						|
    optional FeatureSet features = 12;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
 | 
						|
    reserved 4, 5, 6, 8, 9;
 | 
						|
}
 | 
						|
 | 
						|
message FieldOptions {
 | 
						|
 | 
						|
    optional CType ctype = 1 [default=STRING];
 | 
						|
    optional bool packed = 2;
 | 
						|
    optional JSType jstype = 6 [default=JS_NORMAL];
 | 
						|
    optional bool lazy = 5;
 | 
						|
    optional bool unverified_lazy = 15;
 | 
						|
    optional bool deprecated = 3;
 | 
						|
    optional bool weak = 10 [deprecated=true];
 | 
						|
    optional bool debug_redact = 16;
 | 
						|
    optional OptionRetention retention = 17;
 | 
						|
    repeated OptionTargetType targets = 19;
 | 
						|
    repeated EditionDefault edition_defaults = 20;
 | 
						|
    optional FeatureSet features = 21;
 | 
						|
    optional FeatureSupport feature_support = 22;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    enum CType {
 | 
						|
 | 
						|
        STRING = 0;
 | 
						|
        CORD = 1;
 | 
						|
        STRING_PIECE = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    enum JSType {
 | 
						|
 | 
						|
        JS_NORMAL = 0;
 | 
						|
        JS_STRING = 1;
 | 
						|
        JS_NUMBER = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    enum OptionRetention {
 | 
						|
 | 
						|
        RETENTION_UNKNOWN = 0;
 | 
						|
        RETENTION_RUNTIME = 1;
 | 
						|
        RETENTION_SOURCE = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    enum OptionTargetType {
 | 
						|
 | 
						|
        TARGET_TYPE_UNKNOWN = 0;
 | 
						|
        TARGET_TYPE_FILE = 1;
 | 
						|
        TARGET_TYPE_EXTENSION_RANGE = 2;
 | 
						|
        TARGET_TYPE_MESSAGE = 3;
 | 
						|
        TARGET_TYPE_FIELD = 4;
 | 
						|
        TARGET_TYPE_ONEOF = 5;
 | 
						|
        TARGET_TYPE_ENUM = 6;
 | 
						|
        TARGET_TYPE_ENUM_ENTRY = 7;
 | 
						|
        TARGET_TYPE_SERVICE = 8;
 | 
						|
        TARGET_TYPE_METHOD = 9;
 | 
						|
    }
 | 
						|
 | 
						|
    message EditionDefault {
 | 
						|
 | 
						|
        optional Edition edition = 3;
 | 
						|
        optional string value = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    message FeatureSupport {
 | 
						|
 | 
						|
        optional Edition edition_introduced = 1;
 | 
						|
        optional Edition edition_deprecated = 2;
 | 
						|
        optional string deprecation_warning = 3;
 | 
						|
        optional Edition edition_removed = 4;
 | 
						|
    }
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
 | 
						|
    reserved 4, 18;
 | 
						|
}
 | 
						|
 | 
						|
message OneofOptions {
 | 
						|
 | 
						|
    optional FeatureSet features = 1;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
}
 | 
						|
 | 
						|
message EnumOptions {
 | 
						|
 | 
						|
    optional bool allow_alias = 2;
 | 
						|
    optional bool deprecated = 3;
 | 
						|
    optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated=true];
 | 
						|
    optional FeatureSet features = 7;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
 | 
						|
    reserved 5;
 | 
						|
}
 | 
						|
 | 
						|
message EnumValueOptions {
 | 
						|
 | 
						|
    optional bool deprecated = 1;
 | 
						|
    optional FeatureSet features = 2;
 | 
						|
    optional bool debug_redact = 3;
 | 
						|
    optional FieldOptions.FeatureSupport feature_support = 4;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
}
 | 
						|
 | 
						|
message ServiceOptions {
 | 
						|
 | 
						|
    optional FeatureSet features = 34;
 | 
						|
    optional bool deprecated = 33;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
}
 | 
						|
 | 
						|
message MethodOptions {
 | 
						|
 | 
						|
    optional bool deprecated = 33;
 | 
						|
    optional IdempotencyLevel idempotency_level = 34 [default=IDEMPOTENCY_UNKNOWN];
 | 
						|
    optional FeatureSet features = 35;
 | 
						|
    repeated UninterpretedOption uninterpreted_option = 999;
 | 
						|
 | 
						|
    enum IdempotencyLevel {
 | 
						|
 | 
						|
        IDEMPOTENCY_UNKNOWN = 0;
 | 
						|
        NO_SIDE_EFFECTS = 1;
 | 
						|
        IDEMPOTENT = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    extensions 1000 to max;
 | 
						|
}
 | 
						|
 | 
						|
message UninterpretedOption {
 | 
						|
 | 
						|
    repeated NamePart name = 2;
 | 
						|
    optional string identifier_value = 3;
 | 
						|
    optional uint64 positive_int_value = 4;
 | 
						|
    optional int64 negative_int_value = 5;
 | 
						|
    optional double double_value = 6;
 | 
						|
    optional bytes string_value = 7;
 | 
						|
    optional string aggregate_value = 8;
 | 
						|
 | 
						|
    message NamePart {
 | 
						|
 | 
						|
        required string name_part = 1;
 | 
						|
        required bool is_extension = 2;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
message FeatureSet {
 | 
						|
 | 
						|
    optional FieldPresence field_presence = 1 [retention="RETENTION_RUNTIME", targets="TARGET_TYPE_FILE", feature_support.edition_introduced="EDITION_2023", edition_defaults.edition="EDITION_2023", edition_defaults.value="EXPLICIT"];
 | 
						|
    optional EnumType enum_type = 2 [retention="RETENTION_RUNTIME", targets="TARGET_TYPE_FILE", feature_support.edition_introduced="EDITION_2023", edition_defaults.edition="EDITION_PROTO3", edition_defaults.value="OPEN"];
 | 
						|
    optional RepeatedFieldEncoding repeated_field_encoding = 3 [retention="RETENTION_RUNTIME", targets="TARGET_TYPE_FILE", feature_support.edition_introduced="EDITION_2023", edition_defaults.edition="EDITION_PROTO3", edition_defaults.value="PACKED"];
 | 
						|
    optional Utf8Validation utf8_validation = 4 [retention="RETENTION_RUNTIME", targets="TARGET_TYPE_FILE", feature_support.edition_introduced="EDITION_2023", edition_defaults.edition="EDITION_PROTO3", edition_defaults.value="VERIFY"];
 | 
						|
    optional MessageEncoding message_encoding = 5 [retention="RETENTION_RUNTIME", targets="TARGET_TYPE_FILE", feature_support.edition_introduced="EDITION_2023", edition_defaults.edition="EDITION_LEGACY", edition_defaults.value="LENGTH_PREFIXED"];
 | 
						|
    optional JsonFormat json_format = 6 [retention="RETENTION_RUNTIME", targets="TARGET_TYPE_FILE", feature_support.edition_introduced="EDITION_2023", edition_defaults.edition="EDITION_PROTO3", edition_defaults.value="ALLOW"];
 | 
						|
    optional EnforceNamingStyle enforce_naming_style = 7 [retention="RETENTION_SOURCE", targets="TARGET_TYPE_METHOD", feature_support.edition_introduced="EDITION_2024", edition_defaults.edition="EDITION_2024", edition_defaults.value="STYLE2024"];
 | 
						|
    optional VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility = 8 [retention="RETENTION_SOURCE", targets="TARGET_TYPE_FILE", feature_support.edition_introduced="EDITION_2024", edition_defaults.edition="EDITION_2024", edition_defaults.value="EXPORT_TOP_LEVEL"];
 | 
						|
 | 
						|
    enum FieldPresence {
 | 
						|
 | 
						|
        FIELD_PRESENCE_UNKNOWN = 0;
 | 
						|
        EXPLICIT = 1;
 | 
						|
        IMPLICIT = 2;
 | 
						|
        LEGACY_REQUIRED = 3;
 | 
						|
    }
 | 
						|
 | 
						|
    enum EnumType {
 | 
						|
 | 
						|
        ENUM_TYPE_UNKNOWN = 0;
 | 
						|
        OPEN = 1;
 | 
						|
        CLOSED = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    enum RepeatedFieldEncoding {
 | 
						|
 | 
						|
        REPEATED_FIELD_ENCODING_UNKNOWN = 0;
 | 
						|
        PACKED = 1;
 | 
						|
        EXPANDED = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    enum Utf8Validation {
 | 
						|
 | 
						|
        UTF8_VALIDATION_UNKNOWN = 0;
 | 
						|
        VERIFY = 2;
 | 
						|
        NONE = 3;
 | 
						|
    }
 | 
						|
 | 
						|
    enum MessageEncoding {
 | 
						|
 | 
						|
        MESSAGE_ENCODING_UNKNOWN = 0;
 | 
						|
        LENGTH_PREFIXED = 1;
 | 
						|
        DELIMITED = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    enum JsonFormat {
 | 
						|
 | 
						|
        JSON_FORMAT_UNKNOWN = 0;
 | 
						|
        ALLOW = 1;
 | 
						|
        LEGACY_BEST_EFFORT = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    enum EnforceNamingStyle {
 | 
						|
 | 
						|
        ENFORCE_NAMING_STYLE_UNKNOWN = 0;
 | 
						|
        STYLE2024 = 1;
 | 
						|
        STYLE_LEGACY = 2;
 | 
						|
    }
 | 
						|
 | 
						|
    message VisibilityFeature {
 | 
						|
 | 
						|
        enum DefaultSymbolVisibility {
 | 
						|
 | 
						|
            DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0;
 | 
						|
            EXPORT_ALL = 1;
 | 
						|
            EXPORT_TOP_LEVEL = 2;
 | 
						|
            LOCAL_ALL = 3;
 | 
						|
            STRICT = 4;
 | 
						|
        }
 | 
						|
 | 
						|
        reserved 1 to max;
 | 
						|
    }
 | 
						|
 | 
						|
    extensions 1000 to 9994, 9995 to 9999, 10000;
 | 
						|
 | 
						|
    reserved 999;
 | 
						|
}
 | 
						|
 | 
						|
message FeatureSetDefaults {
 | 
						|
 | 
						|
    repeated FeatureSetEditionDefault defaults = 1;
 | 
						|
    optional Edition minimum_edition = 4;
 | 
						|
    optional Edition maximum_edition = 5;
 | 
						|
 | 
						|
    message FeatureSetEditionDefault {
 | 
						|
 | 
						|
        optional Edition edition = 3;
 | 
						|
        optional FeatureSet overridable_features = 4;
 | 
						|
        optional FeatureSet fixed_features = 5;
 | 
						|
 | 
						|
        reserved 1, 2, "features";
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
message SourceCodeInfo {
 | 
						|
 | 
						|
    repeated Location location = 1;
 | 
						|
 | 
						|
    message Location {
 | 
						|
 | 
						|
        repeated int32 path = 1 [packed=true];
 | 
						|
        repeated int32 span = 2 [packed=true];
 | 
						|
        optional string leading_comments = 3;
 | 
						|
        optional string trailing_comments = 4;
 | 
						|
        repeated string leading_detached_comments = 6;
 | 
						|
    }
 | 
						|
 | 
						|
    extensions 536000000;
 | 
						|
}
 | 
						|
 | 
						|
message GeneratedCodeInfo {
 | 
						|
 | 
						|
    repeated Annotation annotation = 1;
 | 
						|
 | 
						|
    message Annotation {
 | 
						|
 | 
						|
        repeated int32 path = 1 [packed=true];
 | 
						|
        optional string source_file = 2;
 | 
						|
        optional int32 begin = 3;
 | 
						|
        optional int32 end = 4;
 | 
						|
        optional Semantic semantic = 5;
 | 
						|
 | 
						|
        enum Semantic {
 | 
						|
 | 
						|
            NONE = 0;
 | 
						|
            SET = 1;
 | 
						|
            ALIAS = 2;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
enum SymbolVisibility {
 | 
						|
 | 
						|
    VISIBILITY_UNSET = 0;
 | 
						|
    VISIBILITY_LOCAL = 1;
 | 
						|
    VISIBILITY_EXPORT = 2;
 | 
						|
} |