#  Copyright (c) 2023 Huawei Device Co., Ltd.
#  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.

#####################################################
#     below is the format of defining event         #
#####################################################
#domain: domain name.  [Only one domain name can be defined at the top]
#
#author: the author name who defined this event.
#date: the date when this event was defined, format is YYYY-MM-DD.
#logged: source file which refer to this event.
#usage: the usage of this event.
#//Define event name and event properties.
#@EVENT_NAME: the event definition part begin.
#  // __BASE is used for defining the basic info of the event.
#  // "type" optional values are: FAULT, STATISTICS, SECURITY, BEHAVIOR.
#  // "level" optional values are: CRITICAL, MINOR.
#  // "tag" set tags with may used by subscriber of this event, multiple tags devided by space.
#  // "desc" full description of this event.
#  @PARAMETER: {type: parameter type, arrsize: array length(optional), desc: parameter description}.
#  // follow the __BASE block, each line defines a parameter of this event.
#  // "type" optional values are: INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, FLOAT, DOUBLE, STRING.
#  // "arrsize" of the parameter is an array, set a non-zero value.
#  // "desc" full description of this parameter.

#####################################################
#   Example of some hiviewdfx events definition     #
#####################################################

domain: CODE_SIGN

CS_ADD_KEY:
  __BASE: {type: FAULT, level: CRITICAL, desc: adding key into keyring failure event}
  CERT_TYPE: {type: STRING, desc: certificate type}
  ERR_TYPE: {type: INT32, desc: add key error type}

CS_ENABLE_ERR:
  __BASE: {type: SECURITY, level: CRITICAL, desc: enabling code sign failure event}
  FILE_INFO: {type: STRING, desc: target file info}
  SIGN_INFO: {type: STRING, desc: incorrect signature content}
  ERR_TYPE: {type: INT32, desc: enable file error type}

CS_LOAD_SA_ERR:
  __BASE: {type: FAULT, level: CRITICAL, desc: loading SA failure event}
  ERR_TYPE: {type: INT32, desc: load SA error type}

CS_SA_INVALID_CALLER:
  __BASE: {type: SECURITY, level: CRITICAL, desc: invalid caller event}
  INTERFACE: {type: STRING, desc: 'interface type, Cert or Sign'}
  TOKEN_ID : {type: UINT32, desc: token id of invalid caller}

CS_PARSE_CODE_SIG:
  __BASE: {type: FAULT, level: CRITICAL, desc: parse code sig failed}
  FILE_INFO: {type: STRING, desc: info of hap file}
  ERR_TYPE : {type: UINT32, desc: parse cide sig error type}

CS_INVALID_OWNER:
  __BASE: {type: SECURITY, level: CRITICAL, desc: invalid owner}
  FILE_INFO: {type: STRING, desc: info of hap file}
  OWNER_ID: {type: STRING, desc: owner id of the hap file}
  PARSED_OWNER_ID: {type: STRING, desc: owner id in the signature}

CS_ERR_PROFILE:
  __BASE: {type: SECURITY, level: CRITICAL, desc: parsing local profile failure event}
  PROFILE_INFO: {type: STRING, desc: profile path at local sotrage}
  ERR_TYPE: {type: INT32, desc: profile parse error type}