PageRenderTime 20ms CodeModel.GetById 13ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/js/lib/Socket.IO-node/support/expresso/deps/jscoverage/js/prmjtime.h

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