| /* |
| * Copyright (C) 2020 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #pragma once |
| |
| #include <stddef.h> |
| #include <stdint.h> |
| #include <sys/cdefs.h> |
| |
| __BEGIN_DECLS |
| |
| enum AnnotationIds : uint8_t { |
| /** |
| * Annotation ID constant for logging UID field. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_IS_UID = 1, |
| |
| /** |
| * Annotation ID constant to indicate logged atom event's timestamp should be truncated. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2, |
| |
| /** |
| * Annotation ID constant for a state atom's primary field. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_PRIMARY_FIELD = 3, |
| |
| /** |
| * Annotation ID constant for state atom's state field. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_EXCLUSIVE_STATE = 4, |
| |
| /** |
| * Annotation ID constant to indicate the first UID in the attribution chain |
| * is a primary field. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5, |
| |
| /** |
| * Annotation ID constant to indicate which state is default for the state atom. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_DEFAULT_STATE = 6, |
| |
| /** |
| * Annotation ID constant to signal that all states should be reset to the default state. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_TRIGGER_STATE_RESET = 7, |
| |
| /** |
| * Annotation ID constant to indicate state changes need to account for nesting. |
| * This should only be used with binary state atoms. |
| * |
| * Introduced in API 31. |
| */ |
| ASTATSLOG_ANNOTATION_ID_STATE_NESTED = 8, |
| |
| /** |
| * Annotation ID constant to indicate the restriction category of an atom. |
| * This annotation must only be attached to the atom id. This is an int annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_RESTRICTION_CATEGORY = 9, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains peripheral device info. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO = 10, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains app usage information. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE = 11, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains app activity information. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY = 12, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains health connect information. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT = 13, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains accessibility information. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY = 14, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains system search information. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH = 15, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains user engagement information. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT = 16, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains ambient sensing information. |
| * This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING = 17, |
| |
| /** |
| * Annotation ID to indicate that a field of an atom contains demographic classification |
| * information. This is a bool annotation. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION = 18, |
| }; |
| |
| enum AStatsLogRestrictionCategory : uint32_t { |
| /** |
| * Restriction category for atoms about diagnostics. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_RESTRICTION_CATEGORY_DIAGNOSTIC = 1, |
| |
| /** |
| * Restriction category for atoms about system intelligence. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE = 2, |
| |
| /** |
| * Restriction category for atoms about authentication. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_RESTRICTION_CATEGORY_AUTHENTICATION = 3, |
| |
| /** |
| * Restriction category for atoms about fraud and abuse. |
| * |
| * Introduced in API 34. |
| */ |
| ASTATSLOG_RESTRICTION_CATEGORY_FRAUD_AND_ABUSE = 4, |
| |
| }; |
| __END_DECLS |