|
|
1.1 ! root 1: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- ! 2: * ! 3: * The contents of this file are subject to the Netscape Public ! 4: * License Version 1.1 (the "License"); you may not use this file ! 5: * except in compliance with the License. You may obtain a copy of ! 6: * the License at http://www.mozilla.org/NPL/ ! 7: * ! 8: * Software distributed under the License is distributed on an "AS ! 9: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or ! 10: * implied. See the License for the specific language governing ! 11: * rights and limitations under the License. ! 12: * ! 13: * The Original Code is Mozilla Communicator client code, released ! 14: * March 31, 1998. ! 15: * ! 16: * The Initial Developer of the Original Code is Netscape ! 17: * Communications Corporation. Portions created by Netscape are ! 18: * Copyright (C) 1998 Netscape Communications Corporation. All ! 19: * Rights Reserved. ! 20: * ! 21: * Contributor(s): ! 22: * ! 23: * Alternatively, the contents of this file may be used under the ! 24: * terms of the GNU Public License (the "GPL"), in which case the ! 25: * provisions of the GPL are applicable instead of those above. ! 26: * If you wish to allow use of your version of this file only ! 27: * under the terms of the GPL and not to allow others to use your ! 28: * version of this file under the NPL, indicate your decision by ! 29: * deleting the provisions above and replace them with the notice ! 30: * and other provisions required by the GPL. If you do not delete ! 31: * the provisions above, a recipient may use your version of this ! 32: * file under either the NPL or the GPL. ! 33: */ ! 34: ! 35: #ifndef prmjtime_h___ ! 36: #define prmjtime_h___ ! 37: /* ! 38: * PR date stuff for mocha and java. Placed here temporarily not to break ! 39: * Navigator and localize changes to mocha. ! 40: */ ! 41: #include <time.h> ! 42: #include "jslong.h" ! 43: #ifdef MOZILLA_CLIENT ! 44: #include "jscompat.h" ! 45: #endif ! 46: ! 47: JS_BEGIN_EXTERN_C ! 48: ! 49: typedef struct PRMJTime PRMJTime; ! 50: ! 51: /* ! 52: * Broken down form of 64 bit time value. ! 53: */ ! 54: struct PRMJTime { ! 55: JSInt32 tm_usec; /* microseconds of second (0-999999) */ ! 56: JSInt8 tm_sec; /* seconds of minute (0-59) */ ! 57: JSInt8 tm_min; /* minutes of hour (0-59) */ ! 58: JSInt8 tm_hour; /* hour of day (0-23) */ ! 59: JSInt8 tm_mday; /* day of month (1-31) */ ! 60: JSInt8 tm_mon; /* month of year (0-11) */ ! 61: JSInt8 tm_wday; /* 0=sunday, 1=monday, ... */ ! 62: JSInt16 tm_year; /* absolute year, AD */ ! 63: JSInt16 tm_yday; /* day of year (0 to 365) */ ! 64: JSInt8 tm_isdst; /* non-zero if DST in effect */ ! 65: }; ! 66: ! 67: /* Some handy constants */ ! 68: #define PRMJ_USEC_PER_SEC 1000000L ! 69: #define PRMJ_USEC_PER_MSEC 1000L ! 70: ! 71: /* Return the current local time in micro-seconds */ ! 72: extern JSInt64 ! 73: PRMJ_Now(void); ! 74: ! 75: /* get the difference between this time zone and gmt timezone in seconds */ ! 76: extern JSInt32 ! 77: PRMJ_LocalGMTDifference(void); ! 78: ! 79: /* Format a time value into a buffer. Same semantics as strftime() */ ! 80: extern size_t ! 81: PRMJ_FormatTime(char *buf, int buflen, char *fmt, PRMJTime *tm); ! 82: ! 83: /* Get the DST offset for the local time passed in */ ! 84: extern JSInt64 ! 85: PRMJ_DSTOffset(JSInt64 local_time); ! 86: ! 87: JS_END_EXTERN_C ! 88: ! 89: #endif /* prmjtime_h___ */ ! 90:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.