diff options
Diffstat (limited to 'support/dktools/dk4time08.h')
-rw-r--r-- | support/dktools/dk4time08.h | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/support/dktools/dk4time08.h b/support/dktools/dk4time08.h new file mode 100644 index 0000000000..555a7873a1 --- /dev/null +++ b/support/dktools/dk4time08.h @@ -0,0 +1,165 @@ +/* + WARNING: This file was generated by dkct. + Changes you make here will be lost if dkct is run again! + You should modify the original source and run dkct on it. + Original source: dk4time08.ctr +*/ + +/* +Copyright (C) 2015-2017, Dirk Krause + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above opyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of the author nor the names of contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef DK4TIME08_H_INCLUDED +/** Avoid multiple inclusions. */ +#define DK4TIME08_H_INCLUDED 1 + + +#line 9 "dk4time08.ctr" + +/** @file + Convert timestamp to char string, timestamp either given as set + of components (year, month, day, hour, minute, second), as + pointer to struct tm or as dk4_time_t value. + + CRT on Windows: Optional. +*/ + +#ifndef DK4CONF_H_INCLUDED +#include "dk4conf.h" +#endif + +#ifndef DK4TYPES_H_INCLUDED +#include "dk4types.h" +#endif + +#ifndef DK4ERROR_H_INCLUDED +#include "dk4error.h" +#endif + +#ifndef DK4TIME_H_INCLUDED +#include "dk4time.h" +#endif + +#ifndef DK4TIMEC_H_INCLUDED +#include "dk4timec.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** Convert timestamp to char string. + CRT on Windows: Optional. + @param dptr Destination buffer address. + @param dsz Destination buffer size (number of char). + @param format Output format: + DK4_TIMEFORMAT_DATE_TIME for sortable date/time + combination + yyyy-mm-dd hh:mm:ss + (default), + DK4_TIMEFORMAT_DATE_SORTABLE for sortable date + yyyy-mm-dd, + DK4_TIMEFORMAT_DATE_ENGLISH for English style date + mm/dd/yyyy, + DK4_TIMEFORMAT_DATE_GERMAN for German style date + dd.mm.yyyy. + @param year Year. + @param month Month (1 to 12). + @param mday Day within month (1 to 31). + @param hour Hour of day (0 to 23). + @param min Minute within hour (0 to 59). + @param sec Second within minute (0 to 59). + @param erp Error report, may be NULL. + @return 1 on success, 0 on error. + + Error codes: + - DK4_E_INVALID_ARGUMENTS<br> + if dptr is NULL or dsz is 0, + - DK4_E_BUFFER_TOO_SMALL<br> + if the buffer is too small. + +*/ +int +dk4time_to_text_c8( + char *dptr, + size_t dsz, + int format, + unsigned short year, + unsigned short month, + unsigned short mday, + unsigned short hour, + unsigned short min, + unsigned short sec, + dk4_er_t *erp +); + +/** Create text representation for a struct tm. + CRT on Windows: Required. + @param dptr Destination buffer address. + @param dsz Destination buffer size (number of wchar_t). + @param tm Struct to convert. + @param erp Error report, may be NULL. + @return 1 on success, 0 on error. + + Error codes: + - DK4_E_INVALID_ARGUMENTS<br> + if dptr is NULL or dsz is 0, + - DK4_E_BUFFER_TOO_SMALL<br> + if the buffer is too small. +*/ +int +dk4time_convert_to_text_c8( + char *dptr, size_t dsz, const struct tm *tm, dk4_er_t *erp +); + +/** Create text representation for timestamp. + CRT on Windows: Required. + @param dptr Destination buffer address. + @param dsz Destination buffer size. + @param timer Timestamp to convert. + @param erp Error report, may be NULL. + @return 1 on success, 0 on error. + + Error codes: + - DK4_E_INVALID_ARGUMENTS<br> + if dptr is NULL or dsz is 0, + - DK4_E_BUG<br> + if an internal conversion function fails, + - DK4_E_BUFFER_TOO_SMALL<br> + if the buffer is too small. +*/ +int +dk4time_as_text_c8( + char *dptr, size_t dsz, const dk4_time_t *timer, dk4_er_t *erp +); + +#ifdef __cplusplus +} +#endif + + +#endif |