A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 56 lines 2.0 kB view raw
1/*************************************************************************** 2* __________ __ ___. 3* Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7* \/ \/ \/ \/ \/ 8* $Id$ 9* 10* Copyright (C) 2005 Jens Arnold 11* 12* This program is free software; you can redistribute it and/or 13* modify it under the terms of the GNU General Public License 14* as published by the Free Software Foundation; either version 2 15* of the License, or (at your option) any later version. 16* 17* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18* KIND, either express or implied. 19* 20****************************************************************************/ 21 22#ifndef __TIMER_H__ 23#define __TIMER_H__ 24 25#include <stdbool.h> 26#include "config.h" 27#include "cpu.h" 28 29#if (CONFIG_PLATFORM & PLATFORM_HOSTED) 30#define TIMER_FREQ 1000000 31#endif 32 33/* NOTE: if unreg cb is defined you are in charge of calling timer_unregister() */ 34bool timer_register(int reg_prio, void (*unregister_callback)(void), 35 long cycles, void (*timer_callback)(void) 36 IF_COP(,int core)); 37bool timer_set_period(long cycles); 38#ifdef CPU_COLDFIRE 39void timers_adjust_prescale(int multiplier, bool enable_irq); 40#endif 41 42/* NOTE: unregister callbacks are not called by timer_unregister() 43* the unregister_callback only gets called when your timer gets 44* overwritten by a lower priority timer using timer_register() */ 45void timer_unregister(void); 46 47/* target-specific interface */ 48bool timer_set(long cycles, bool start); 49bool timer_start(IF_COP_VOID(int core)); 50void timer_stop(void); 51 52/* For target-specific interface use */ 53extern void (*pfn_timer)(void); 54extern void (*pfn_unregister)(void); 55 56#endif /* __TIMER_H__ */