a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt/*
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt *
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * file, You can obtain one at http://mozilla.org/MPL/2.0/.
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt */
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt#ifndef ISC_TM_H
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt#define ISC_TM_H 1
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt/*! \file isc/tm.h
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt * Provides portable conversion routines for struct tm.
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt */
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt#include <time.h>
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt
1b5dcef8755e1723f26f46f29bebf12c9f7ff4a6Mark Andrews#include <isc/lang.h>
1b5dcef8755e1723f26f46f29bebf12c9f7ff4a6Mark Andrews#include <isc/types.h>
1b5dcef8755e1723f26f46f29bebf12c9f7ff4a6Mark Andrews
1b5dcef8755e1723f26f46f29bebf12c9f7ff4a6Mark Andrews
a147de10fe5e19e593d42152ffd6879eca69860dEvan HuntISC_LANG_BEGINDECLS
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunttime_t
a147de10fe5e19e593d42152ffd6879eca69860dEvan Huntisc_tm_timegm(struct tm *tm);
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt/*
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt * Convert a tm structure to time_t, using UTC rather than the local
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt * time zone.
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt */
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt
a147de10fe5e19e593d42152ffd6879eca69860dEvan Huntchar *
a147de10fe5e19e593d42152ffd6879eca69860dEvan Huntisc_tm_strptime(const char *buf, const char *fmt, struct tm *tm);
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt/*
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt * Parse a formatted date string into struct tm.
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt */
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt
a147de10fe5e19e593d42152ffd6879eca69860dEvan HuntISC_LANG_ENDDECLS
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt#endif /* ISC_TIMER_H */