/usr/include/axis2-1.6.0/axutil_date_time.h is in libaxis2c-dev 1.6.0-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | /*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef AXUTIL_DATE_TIME_H
#define AXUTIL_DATE_TIME_H
#include <axutil_utils_defines.h>
#include <axutil_env.h>
/**
* @file axutil_date_time.h
* @brief axis2-util
*/
#ifdef __cplusplus
extern "C"
{
#endif
/**
* @defgroup axutil_date_time
* @ingroup axis2_util
* @{
*/
typedef struct axutil_date_time axutil_date_time_t;
typedef enum
{
AXIS2_DATE_TIME_COMP_RES_FAILURE = -1,
AXIS2_DATE_TIME_COMP_RES_UNKNOWN,
AXIS2_DATE_TIME_COMP_RES_EXPIRED,
AXIS2_DATE_TIME_COMP_RES_EQUAL,
AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED
} axutil_date_time_comp_result_t;
/**
* Creates axutil_date_time struct with current date time
* @param env double pointer to environment struct. MUST NOT be NULL
* @return pointer to newly created axutil_date_time struct
*/
AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
axutil_date_time_create(
const axutil_env_t * env);
/*
* Creates axutil_date_time struct with an additional offset value
* If the offset is a positive value then the time will be in the future
* offset is 0, then the time will be the current time
* offset is a negative value then the time is in the past.
* @param env double pointer to environment struct. MUST NOT be NULL
* @param offset the offset from the current time in seconds
* @return pointer to newly created axutil_date_time struct
**/
AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
axutil_date_time_create_with_offset(
const axutil_env_t * env,
int offset);
/**
* free the axutil_date_time.
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
AXIS2_EXTERN void AXIS2_CALL
axutil_date_time_free(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* store the time value from plain text.
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @param time time as a string format HH:MM:TTZ
* @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axutil_date_time_deserialize_time(
axutil_date_time_t * date_time,
const axutil_env_t * env,
const axis2_char_t * time_str);
/**
* store the date value from plain text.
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @param date date as a string format YYYY-MM-DD
* @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axutil_date_time_deserialize_date(
axutil_date_time_t * date_time,
const axutil_env_t * env,
const axis2_char_t * date_str);
/**
* store the date value from plain text.
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @param date_time string format YYYY-MM-DDTHH:MM:SSZ
* @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axutil_date_time_deserialize_date_time(
axutil_date_time_t * date_time,
const axutil_env_t * env,
const axis2_char_t * date_time_str);
/**
* store the date value from set of values
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @param year Integer -1 can be used to ignore
* @param month Integer -1 can be used to ignore
* @param date Integer -1 can be used to ignore
* @param hour Integer -1 can be used to ignore
* @param min Integer -1 can be used to ignore
* @param second Integer -1 can be used to ignore
* @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axutil_date_time_set_date_time(
axutil_date_time_t * date_time,
const axutil_env_t * env,
int year,
int month,
int date,
int hour,
int min,
int second,
int milliseconds);
/**
* retrive the stored time as a string
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return time as a string format HH:MM:SSZ
*/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
axutil_date_time_serialize_time(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrive the stored date as a string
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return date as a string format YYYY-MM-DD
*/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
axutil_date_time_serialize_date(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrive the stored date time as a string with millisecond precision
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return time as a string format YYYY-MM-DDTHH:MM:SS.msZ
*/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
axutil_date_time_serialize_date_time(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrive the stored date time as a string without millisecond
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return time as a string format YYYY-MM-DDTHH:MM:SSZ
*/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
axutil_date_time_serialize_date_time_without_millisecond(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrieve the year of the date time
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return year as an integer
*/
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_year(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrieve the month of the date time
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return month as an integer
*/
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_month(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrieve the date of the date time
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return date as an integer
*/
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_date(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrieve the hour of the date time
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return hour as an integer
*/
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_hour(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrieve the minute of the date time
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return minute as an integer
*/
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_minute(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* retrieve the second of the date time
* @param date_time represet the type object
* @param env pointer to environment struct. MUST NOT be NULL
* @return second as an integer
*/
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_second(
axutil_date_time_t * date_time,
const axutil_env_t * env);
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_msec(
axutil_date_time_t * date_time,
const axutil_env_t * env);
/**
* Compare the date and time of @date_time with the reference @ref.
* If the @date_time < @ref this returns NOT_EXPIRED.
* If the @date_time > @ref this returns EXPIRED.
* If the @date_time = @ref this returns EQUAL.
* @param date_time the date time to be compared
* @param env pointer to environment struct. MUST NOT be NULL
* @ref the reference date time
* @return NOT_EXPIRED/EXPIRED/EQUAL if valid otherwise return FAILURE
*/
AXIS2_EXTERN axutil_date_time_comp_result_t AXIS2_CALL
axutil_date_time_compare(
axutil_date_time_t * date_time,
const axutil_env_t * env,
axutil_date_time_t * ref);
AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
axutil_date_time_utc_to_local(
axutil_date_time_t * date_time,
const axutil_env_t * env,
axis2_bool_t is_positive,
int hour,
int min);
AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
axutil_date_time_local_to_utc(
axutil_date_time_t * date_time,
const axutil_env_t * env);
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_time_zone_hour(
axutil_date_time_t * date_time,
const axutil_env_t * env);
AXIS2_EXTERN int AXIS2_CALL
axutil_date_time_get_time_zone_minute(
axutil_date_time_t * date_time,
const axutil_env_t * env);
AXIS2_EXTERN axis2_bool_t AXIS2_CALL
axutil_date_time_is_time_zone_positive(
axutil_date_time_t * date_time,
const axutil_env_t * env);
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axutil_date_time_set_time_zone(
axutil_date_time_t * date_time,
const axutil_env_t * env,
axis2_bool_t is_positive,
int hour,
int min);
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axutil_date_time_deserialize_date_time_with_time_zone(
axutil_date_time_t * date_time,
const axutil_env_t * env,
const axis2_char_t * date_time_str);
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axutil_date_time_deserialize_time_with_time_zone(
axutil_date_time_t * date_time,
const axutil_env_t * env,
const axis2_char_t * time_str);
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
axutil_date_time_serialize_date_time_with_time_zone(
axutil_date_time_t * date_time,
const axutil_env_t * env);
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
axutil_date_time_serialize_time_with_time_zone(
axutil_date_time_t * date_time,
const axutil_env_t * env);
AXIS2_EXTERN axis2_bool_t AXIS2_CALL
axutil_date_time_is_utc(
axutil_date_time_t * date_time,
const axutil_env_t * env);
#ifdef __cplusplus
}
#endif
#endif /* AXIS2_DATE_TIME_H */
|