das2C
das core C utilities (v3)
Loading...
Searching...
No Matches
util_priv.h
1/* Copyright (C) 2026 Chris Piker <chris-piker@uiowa.edu>
2 *
3 * This file is part of das2C, the Core Das2 C Library.
4 *
5 * Das2C is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU Lesser General Public License version 2.1 as published
7 * by the Free Software Foundation.
8 *
9 * Das2C is distributed in the hope that it will be useful, but WITHOUT ANY
10 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * version 2.1 along with das2C; if not, see <http://www.gnu.org/licenses/>.
16 */
17
18/* Module start-up and shut-down hooks. Not installed.
19 *
20 * das_init() and das_finish() in util.c are the only callers, so the hooks
21 * are declared next to them rather than in each module's public header. The
22 * defining .c files include this too, so the compiler checks each definition
23 * against its declaration.
24 *
25 * None of these are thread safe, they run once from das_init() before any
26 * worker threads exist.
27 */
28
29#ifndef _das_util_priv_h_
30#define _das_util_priv_h_
31
32#include <stdbool.h>
33
34/* units.c, registers the built-in unit names */
35bool das_units_init(const char* sProgName);
36
37/* dft.c, sets up the shared FFTW planning data */
38bool das_dft_init(const char* sProgName);
39
40/* http.c, SSL library set-up and tear-down */
41bool das_http_init(const char* sProgName);
42void das_http_finish(void);
43
44/* tt2000.c, loads the leap second table before any conversion runs. Set
45 CDF_LEAPSECONDSTABLE to read an external table; without it the built-in
46 table is used, which means a library update for each new leap second.
47 das_tt2k_reinit() in tt2000.h reloads it later. */
48bool das_tt2K_init(const char* sProgName);
49
50#endif /* _das_util_priv_h_ */