Wiki

Clone wiki

CafeOBJ / OSEK / contents / index-e / backup / 20_Systemservices / 1_Common_Data_Types

Common data types

StatusType

This data type is used for all status information the API services offer. Naming convention: all errors for API services start with E_. Those reserved for the operating system will begin with E_OS_. The normal return value is E_OK which is associated with the value 0. The following error values are defined:

#!python

module NORMAL
{
  imports
  {
    ex(STATUS)
  }
  signature
  {
    [ Normal < Status ]
    op E-OK : -> Normal
  }
}

All errors of API services:

  • E_OS_ACCESS =1,
  • E_OS_CALLEVEL =2,
  • E_OS_ID =3,
  • E_OS_LIMIT =4,
  • E_OS_NOFUNC =5,
  • E_OS_RESOURCE =6,
  • E_OS_STATE =7,
  • E_OS_V ALUE =8
#!python

module API-ERROR
{
  imports
  {
    ex(STATUS)
  }
  signature
  {
    [ APIError < Status ]
    op E-OS-ACCESS : -> APIError
    op E-OS-CALLEVEL : -> APIError
    op E-OS-ID : -> APIError
    op E-OS-LIMIT : -> APIError
    op E-OS-NOFUNC : -> APIError
    op E-OS-RESOURCE : -> APIError
    op E-OS-STATE : -> APIError
    op E-OS-VALUE : -> APIError
  }
}

Internal errors of the operating system

These errors are implementation specific and not part of the portable section. The error names reside in the same name-space as the errors for API services mentioned above. The implementations has to ensure that the range of numbers does not overlap. To show the difference in use, the names internal errors shall start with E_OS_SYS_ Examples:

  • E_OS_SYS_STACK
  • E_OS_SYS_PARITY
  • ... and other implementation-specific errors, which have to be described in the vendor- specific documentation.
#!python

module OS-INTERNAL-ERROR
{
  imports
  {
    ex(STATUS)
  }
  signature
  {
    [ INTERNAL-ERROR < Status ]
  }
}

Updated