blob: 4df181965de9dae28beb201806d8a850a5712ba6 [file] [log] [blame]
Brian Silvermanf7f267a2017-02-04 16:16:08 -08001/*----------------------------------------------------------------------------*/
2/* Copyright (c) FIRST 2016-2017. All Rights Reserved. */
3/* Open Source Software - may be modified and shared by FRC teams. The code */
4/* must be accompanied by the FIRST BSD license file in the root directory of */
5/* the project. */
6/*----------------------------------------------------------------------------*/
7
8#pragma once
9
10#include <stdint.h>
11
12#include "HAL/Types.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18typedef void (*HAL_NotifierProcessFunction)(uint64_t currentTime,
19 HAL_NotifierHandle handle);
20
21HAL_NotifierHandle HAL_InitializeNotifier(HAL_NotifierProcessFunction process,
22 void* param, int32_t* status);
23HAL_NotifierHandle HAL_InitializeNotifierThreaded(
24 HAL_NotifierProcessFunction process, void* param, int32_t* status);
25void HAL_CleanNotifier(HAL_NotifierHandle notifierHandle, int32_t* status);
26void* HAL_GetNotifierParam(HAL_NotifierHandle notifierHandle, int32_t* status);
27void HAL_UpdateNotifierAlarm(HAL_NotifierHandle notifierHandle,
28 uint64_t triggerTime, int32_t* status);
29void HAL_StopNotifierAlarm(HAL_NotifierHandle notifierHandle, int32_t* status);
30#ifdef __cplusplus
31}
32#endif