| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | #ifndef NETDATA_TIMEFRAME_H |
| 4 | #define NETDATA_TIMEFRAME_H |
| 5 | |
| 6 | #include "parsers.h" |
| 7 | |
| 8 | typedef struct { |
| 9 | time_t after; |
| 10 | time_t before; |
| 11 | } TIMEFRAME; |
| 12 | |
| 13 | #define API_RELATIVE_TIME_INVALID (-1000000000) |
| 14 | |
| 15 | #define API_RELATIVE_TIME_THIS_MINUTE (API_RELATIVE_TIME_INVALID - 1) // this minute at 00 seconds |
| 16 | #define API_RELATIVE_TIME_THIS_HOUR (API_RELATIVE_TIME_INVALID - 2) // this hour at 00 minutes, 00 seconds |
| 17 | #define API_RELATIVE_TIME_TODAY (API_RELATIVE_TIME_INVALID - 3) // today at 00:00:00 |
| 18 | #define API_RELATIVE_TIME_THIS_WEEK (API_RELATIVE_TIME_INVALID - 4) // this Monday, 00:00:00 |
| 19 | #define API_RELATIVE_TIME_THIS_MONTH (API_RELATIVE_TIME_INVALID - 5) // this month's 1st at 00:00:00 |
| 20 | #define API_RELATIVE_TIME_THIS_YEAR (API_RELATIVE_TIME_INVALID - 6) // this year's Jan 1st, at 00:00:00 |
| 21 | #define API_RELATIVE_TIME_LAST_MONTH (API_RELATIVE_TIME_INVALID - 7) // last month's 1st, at 00:00:00 |
| 22 | #define API_RELATIVE_TIME_LAST_YEAR (API_RELATIVE_TIME_INVALID - 8) // last year's Jan 1st, at 00:00:00 |
| 23 | |
| 24 | #define TIMEFRAME_INVALID (TIMEFRAME){ .after = API_RELATIVE_TIME_INVALID, .before = API_RELATIVE_TIME_INVALID } |
| 25 | |
| 26 | #endif //NETDATA_TIMEFRAME_H |