Warning, /cpukit/include/adainclude/rtems-timer.ads is written in an unsupported language. File is not indexed.
0001 -- SPDX-License-Identifier: BSD-2-Clause
0002
0003 --
0004 -- RTEMS / Specification
0005 --
0006 -- DESCRIPTION:
0007 --
0008 -- This package provides the interface to the RTEMS API.
0009 --
0010 -- DEPENDENCIES:
0011 --
0012 -- NOTES:
0013 -- RTEMS initialization and configuration are called from
0014 -- the BSP side, therefore should never be called from ADA.
0015 --
0016 -- COPYRIGHT (c) 1997-2008.
0017 -- On-Line Applications Research Corporation (OAR).
0018 --
0019 -- Redistribution and use in source and binary forms, with or without
0020 -- modification, are permitted provided that the following conditions
0021 -- are met:
0022 -- 1. Redistributions of source code must retain the above copyright
0023 -- notice, this list of conditions and the following disclaimer.
0024 -- 2. Redistributions in binary form must reproduce the above copyright
0025 -- notice, this list of conditions and the following disclaimer in the
0026 -- documentation and/or other materials provided with the distribution.
0027 --
0028 -- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0029 -- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0030 -- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0031 -- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0032 -- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0033 -- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0034 -- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0035 -- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0036 -- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0037 -- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0038 -- POSSIBILITY OF SUCH DAMAGE.
0039 --
0040
0041 with RTEMS.Tasks;
0042
0043 package RTEMS.Timer is
0044
0045 --
0046 -- The following type define a pointer to a watchdog/timer service routine.
0047 --
0048
0049 type Service_Routine is access procedure (
0050 ID : in RTEMS.ID;
0051 User_Data : in RTEMS.Address
0052 );
0053 pragma Convention (C, Service_Routine);
0054
0055 --
0056 -- Timer Manager
0057 --
0058
0059 procedure Create (
0060 Name : in RTEMS.Name;
0061 ID : out RTEMS.ID;
0062 Result : out RTEMS.Status_Codes
0063 );
0064
0065 procedure Ident (
0066 Name : in RTEMS.Name;
0067 ID : out RTEMS.ID;
0068 Result : out RTEMS.Status_Codes
0069 );
0070
0071 procedure Delete (
0072 ID : in RTEMS.ID;
0073 Result : out RTEMS.Status_Codes
0074 );
0075
0076 procedure Fire_After (
0077 ID : in RTEMS.ID;
0078 Ticks : in RTEMS.Interval;
0079 Routine : in RTEMS.Timer.Service_Routine;
0080 User_Data : in RTEMS.Address;
0081 Result : out RTEMS.Status_Codes
0082 );
0083
0084 procedure Server_Fire_After (
0085 ID : in RTEMS.ID;
0086 Ticks : in RTEMS.Interval;
0087 Routine : in RTEMS.Timer.Service_Routine;
0088 User_Data : in RTEMS.Address;
0089 Result : out RTEMS.Status_Codes
0090 );
0091
0092 procedure Fire_When (
0093 ID : in RTEMS.ID;
0094 Wall_Time : in RTEMS.Time_Of_Day;
0095 Routine : in RTEMS.Timer.Service_Routine;
0096 User_Data : in RTEMS.Address;
0097 Result : out RTEMS.Status_Codes
0098 );
0099
0100 procedure Server_Fire_When (
0101 ID : in RTEMS.ID;
0102 Wall_Time : in RTEMS.Time_Of_Day;
0103 Routine : in RTEMS.Timer.Service_Routine;
0104 User_Data : in RTEMS.Address;
0105 Result : out RTEMS.Status_Codes
0106 );
0107
0108 procedure Reset (
0109 ID : in RTEMS.ID;
0110 Result : out RTEMS.Status_Codes
0111 );
0112
0113 procedure Cancel (
0114 ID : in RTEMS.ID;
0115 Result : out RTEMS.Status_Codes
0116 );
0117
0118 procedure Initiate_Server (
0119 Server_Priority : in RTEMS.Tasks.Priority;
0120 Stack_Size : in RTEMS.Size;
0121 Attribute_Set : in RTEMS.Attribute;
0122 Result : out RTEMS.Status_Codes
0123 );
0124
0125 end RTEMS.Timer;