2 * Copyright (C) 2009, 2010 by Nils Faerber <nils.faerber@kernelconcepts.de>
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version
7 * 2 of the License, or (at your option) any later version.
11 #define RDS_RECEIVE_INDICATOR 1 << 0
12 #define RDS_OUTPUT_STATION_ID 1 << 1
13 #define RDS_OUTPUT_RADIO_TEXT 1 << 2
14 #define RDS_OUTPUT_TMC 1 << 3
15 #define RDS_OUTPUT_DATETIME 1 << 4
16 #define RDS_OUTPUT_RDSINFO 1 << 5
17 #define RDS_OUTPUT_EON 1 << 6
18 #define RDS_OUTPUT_UNKNGRP 1 << 7
20 extern int OutputFlags;
22 /* defined in rds_consts.h */
23 extern const char *PTY_text[];
24 extern const char *ECC_text[];
25 extern const char *ptype_stext[];
26 extern const char *ptype_ltext[];
33 char LTN; /* location table number */
50 unsigned char ccode, ptype, pref;
52 unsigned char lang_code;
58 int rds_receive_group(int rds_fd, unsigned short *rdsgroup);
59 void rds_decode_group(unsigned short *rdsgroup);
63 /* with every group but only once reported when PI changes */
64 void rds_set_PI_cb(void (*rds_PI_cb)(unsigned short PI, unsigned char ccode, unsigned char ptype, unsigned char pref, void *user_data), void *user_data);
67 void rds_set_sname_cb(void (*rds_sname_cb)(char *sname, void *user_data), void *user_data);
68 void rds_set_sinfo_cb(void (*rds_sinfo_cb)(unsigned char TP, unsigned char TA, unsigned char MS, unsigned char PTY, void *user_data), void *user_data);
69 void rds_set_afinfo_cb(void (*rds_afinfo_cb)(unsigned char cnt, double *AF, void *user_data), void *user_data);
71 void rds_set_radiotext_cb(void (*rds_radiotext_cb)(char *radio_text, void *user_data), void *user_data);
75 void rds_set_date_time_cb(void (*rds_date_time_cb)(struct tm *rds_time, void *user_data), void *user_data);