boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

time.h (1741B)


      1 /* -*-comment-start: "//";comment-end:""-*-
      2  * GNU Mes --- Maxwell Equations of Software
      3  * Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
      4  *
      5  * This file is part of GNU Mes.
      6  *
      7  * GNU Mes is free software; you can redistribute it and/or modify it
      8  * under the terms of the GNU General Public License as published by
      9  * the Free Software Foundation; either version 3 of the License, or (at
     10  * your option) any later version.
     11  *
     12  * GNU Mes is distributed in the hope that it will be useful, but
     13  * WITHOUT ANY WARRANTY; without even the implied warranty of
     14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15  * GNU General Public License for more details.
     16  *
     17  * You should have received a copy of the GNU General Public License
     18  * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
     19  */
     20 #ifndef __MES_TIME_H
     21 #define __MES_TIME_H 1
     22 
     23 #if SYSTEM_LIBC
     24 #undef __MES_TIME_H
     25 #include_next <time.h>
     26 #else // ! SYSTEM_LIBC
     27 
     28 #ifndef __MES_TIME_T
     29 #define __MES_TIME_T 1
     30 typedef long clockid_t;
     31 typedef long time_t;
     32 #endif
     33 
     34 struct tm
     35 {
     36   int tm_sec;
     37   int tm_min;
     38   int tm_hour;
     39   int tm_mday;
     40   int tm_mon;
     41   int tm_year;
     42   int tm_wday;
     43   int tm_yday;
     44   int tm_isdst;
     45 };
     46 
     47 #ifndef __MES_STRUCT_TIMESPEC
     48 #define __MES_STRUCT_TIMESPEC
     49 
     50 struct timespec
     51 {
     52   long tv_sec;
     53   long tv_nsec;
     54 };
     55 
     56 #endif // __MES_STRUCT_TIMESPEC
     57 
     58 #define CLOCK_PROCESS_CPUTIME_ID 2
     59 int clock_gettime (clockid_t clk_id, struct timespec *tp);
     60 struct tm *localtime (time_t const *timep);
     61 struct tm *gmtime (time_t const *time);
     62 time_t mktime (struct tm *broken_time);
     63 int nanosleep (struct timespec const *requested_time, struct timespec const *remaining);
     64 time_t time (time_t * tloc);
     65 
     66 #endif // ! SYSTEM_LIBC
     67 
     68 #endif // __MES_TIME_H