summaryrefslogtreecommitdiff
path: root/libedsio/partime.h
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2013-02-22 07:24:03 -0800
committerAnas Nashif <anas.nashif@intel.com>2013-02-22 07:24:03 -0800
commit2cdd5bf0e73eff343d4ca085b315e78982e76202 (patch)
treee9082ffa48b4651e998fd9caa1dab827a9e6b7ae /libedsio/partime.h
downloadxdelta1-2cdd5bf0e73eff343d4ca085b315e78982e76202.tar.gz
xdelta1-2cdd5bf0e73eff343d4ca085b315e78982e76202.tar.bz2
xdelta1-2cdd5bf0e73eff343d4ca085b315e78982e76202.zip
Imported Upstream version 1.1.4upstream/1.1.4upstream
Diffstat (limited to 'libedsio/partime.h')
-rwxr-xr-xlibedsio/partime.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/libedsio/partime.h b/libedsio/partime.h
new file mode 100755
index 0000000..bcc8165
--- /dev/null
+++ b/libedsio/partime.h
@@ -0,0 +1,67 @@
+/* Parse a string, yielding a struct partime that describes it. */
+
+/* Copyright 1993, 1994, 1995, 1997 Paul Eggert
+ Distributed under license by the Free Software Foundation, Inc.
+
+ This file is part of RCS.
+
+ RCS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ RCS is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with RCS; see the file COPYING.
+ If not, write to the Free Software Foundation,
+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Report problems and direct all questions to:
+
+ rcs-bugs@cs.purdue.edu
+
+ */
+
+#define TM_UNDEFINED (-1)
+#define TM_DEFINED(x) (0 <= (x))
+
+/* #include <limits.h> if you want to use these symbols. */
+#define TM_LOCAL_ZONE LONG_MIN
+#define TM_UNDEFINED_ZONE (LONG_MIN + 1)
+
+struct partime
+ {
+ /* This structure describes the parsed time.
+ Only the following tm_* values in it are used:
+ sec, min, hour, mday, mon, year, wday, yday.
+ If TM_UNDEFINED (value), the parser never found the value.
+ The tm_year field is the actual year, not the year - 1900;
+ but see ymodulus below. */
+ struct tm tm;
+
+ /* If !TM_UNDEFINED (ymodulus),
+ then tm.tm_year is actually modulo ymodulus. */
+ int ymodulus;
+
+ /* Week of year, ISO 8601 style.
+ If TM_UNDEFINED (yweek), the parser never found yweek.
+ Weeks start on Mondays.
+ Week 1 includes Jan 4. */
+ int yweek;
+
+ /* Seconds east of UTC; or TM_LOCAL_ZONE or TM_UNDEFINED_ZONE. */
+ long zone;
+ };
+
+#if defined __STDC__ || has_prototypes
+# define __PARTIME_P(x) x
+#else
+# define __PARTIME_P(x) ()
+#endif
+
+char *partime __PARTIME_P ((char const *, struct partime *));
+char *parzone __PARTIME_P ((char const *, long *));