Back to home page

LXR

 
 

    


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;