1 /*
   2  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
   3  * Use is subject to license terms.
   4  */
   5 
   6 /*
   7  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
   8  */
   9 
  10 #ifndef _SYS_TIMEB_H
  11 #define _SYS_TIMEB_H
  12 
  13 #ifdef  __cplusplus
  14 extern "C" {
  15 #endif
  16 
  17 #include <sys/types.h>
  18 #include <sys/feature_tests.h>
  19 
  20 /*
  21  * Copyright (c) 1991, 1993
  22  *      The Regents of the University of California.  All rights reserved.
  23  * (c) UNIX System Laboratories, Inc.
  24  * All or some portions of this file are derived from material licensed
  25  * to the University of California by American Telephone and Telegraph
  26  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  27  * the permission of UNIX System Laboratories, Inc.
  28  *
  29  * Redistribution and use in source and binary forms, with or without
  30  * modification, are permitted provided that the following conditions
  31  * are met:
  32  * 1. Redistributions of source code must retain the above copyright
  33  *    notice, this list of conditions and the following disclaimer.
  34  * 2. Redistributions in binary form must reproduce the above copyright
  35  *    notice, this list of conditions and the following disclaimer in the
  36  *    documentation and/or other materials provided with the distribution.
  37  * 3. All advertising materials mentioning features or use of this software
  38  *    must display the following acknowledgement:
  39  *      This product includes software developed by the University of
  40  *      California, Berkeley and its contributors.
  41  * 4. Neither the name of the University nor the names of its contributors
  42  *    may be used to endorse or promote products derived from this software
  43  *    without specific prior written permission.
  44  *
  45  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  46  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  47  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  48  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  49  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  50  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  51  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  53  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  54  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  55  * SUCH DAMAGE.
  56  */
  57 
  58 
  59 /*
  60  * NOTE: This lives in sys/timeb.h due to standards requirements.
  61  * The actual function is not a system call, but a libc function.  Hence
  62  * this header should never be included into kernel modules.  Presumably
  63  * the header shouldn't be included unless ftime() is desired, since it
  64  * defines nothing else, but be pedantic.
  65  */
  66 
  67 #ifndef _KERNEL
  68 
  69 #if (!defined(_STRICT_SYMBOLS)) || (defined(_XPG4_2) && !defined(_XPG7))
  70 struct timeb {
  71         time_t  time;                   /* seconds since the Epoch */
  72         unsigned short millitm;         /* + milliseconds since the Epoch */
  73         short   timezone;               /* minutes west of CUT */
  74         short   dstflag;                /* DST == non-zero */
  75 };
  76 
  77 extern int ftime(struct timeb *);
  78 #endif
  79 
  80 #endif /* _KERNEL */
  81 
  82 #ifdef  __cplusplus
  83 }
  84 #endif
  85 
  86 #endif  /* _SYS_TIMEB_H */