Commit Graph
104 Commits
Author SHA1 Message Date
Joel Sherrill b34446954c 2006-01-08 Joel Sherrill <joel@OARcorp.com>
* sapi/include/rtems/io.h, sapi/src/io.c: Change rtems_io_register_name
	to take a const char *.
2006-01-08 17:57:17 +00:00
Joel Sherrill d3d2afdfac 2005-10-25 Joel Sherrill <joel@OARcorp.com>
* sapi/include/confdefs.h, telnetd/pty.c, telnetd/pty.h: Attempt
	to fix MAX_PTYS and provide a real configuration entry.  This should
	make telnetd some suitable for inclusion in cpukit.
2005-10-25 11:17:35 +00:00
Joel Sherrill c64da85672 2005-09-25 Joel Sherrill <joel@OARcorp.com>
* sapi/include/rtems/init.h, sapi/src/exinit.c: Remove unused and
	obsolete rtems_initialize_executive.
2005-09-25 15:36:40 +00:00
Joel Sherrill 8c51e48cac 2005-09-01 Nuno Costa <nuno-costa@iol.pt>
PR 804
	* sapi/include/confdefs.h: Memory for POSIX timers not accounted for.
	Patch adapted from edit comment in PR filed.
2005-09-01 13:28:00 +00:00
Ralf Corsepius 092f142af3 New header guard. 2005-01-28 05:00:21 +00:00
Ralf Corsepius 52399be0cf 2005-01-18 Ralf Corsepius <ralf.corsepius@rtems.org>
* sapi/include/rtems/io.h : size_t device_name_length.
2005-01-18 12:30:44 +00:00
Ralf Corsepius ee0815066d 2005-01-18 Ralf Corsepius <ralf.corsepius@rtems.org>
* sapi/include/rtems/fatal.h, score/include/rtems/score/interr.h:
	Remove volatile on return type (GCC-4.0 complains about them).
2005-01-18 12:21:06 +00:00
Ralf Corsepius b96254f8dd Add doxygen preamble. 2004-11-21 07:42:11 +00:00
Ralf Corsepius 84860816e3 Remove stray white spaces. 2004-04-16 11:54:29 +00:00
Ralf Corsepius c952016561 2004-04-14 Ralf Corsepius <ralf_corsepius@rtems.org>
* sapi/include/rtems/sptables.h: Remove _RTEMS_version.
2004-04-16 11:52:16 +00:00
Ralf Corsepius ebbe119eb5 2004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>
* libblock/include/rtems/bdbuf.h: Include <rtems/chain.h> instead of <chain.h>.
	* libblock/include/rtems/ide_part_table.h: Include <rtems/chain.h> instead of <chain.h>.
	* libcsupport/src/malloc.c: Include <rtems/chain.h> instead of <chain.h>.
	* libcsupport/src/mount.c: Include <rtems/chain.h> instead of <chain.h>.
	* libcsupport/src/unmount.c: Include <rtems/chain.h> instead of <chain.h>.
	* libfs/src/imfs/imfs.h: Include <rtems/chain.h> instead of <chain.h>.
	* libfs/src/imfs/imfs_directory.c: Include <rtems/chain.h> instead of <chain.h>.
	* libfs/src/imfs/imfs_load_tar.c: Include <rtems/chain.h> instead of <chain.h>.
	* sapi/include/confdefs.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
	* sapi/include/confdefs.h: Include <rtems/console.h> instead of <console.h>.
	* libfs/src/imfs/imfs_load_tar.c: Include <rtems/imfs.h> instead of <imfs.h>.
	* libmisc/shell/cmds.c: Include <rtems/imfs.h> instead of <imfs.h>.
	* libmisc/fsmount/fsmount.c: Include <rtems/imfs.h> instead of <imfs.h>.
	* sapi/include/confdefs.h: Include <rtems/imfs.h> instead of <imfs.h>.
	* itron/src/can_wup.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/chg_pri.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/cre_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/cre_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/cre_sem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/cre_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/del_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/del_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/del_sem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/del_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/dis_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/ena_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/eventflags.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/exd_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/ext_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/fmempool.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/frsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/get_tid.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/itronintr.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/itronsem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/itrontime.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/mbox.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/mboxtranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/msgbuffer.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/msgbuffertranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/network.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/port.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/prcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/prcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/preq_sem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/psnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/rcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/rcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/ref_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/ref_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/ref_sem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/ref_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/rel_wai.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/rot_rdq.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/rsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/sig_sem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/slp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/snd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/snd_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/sta_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/sus_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/sysmgmt.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/task.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/ter_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/trcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/trcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/tslp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/tsnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/twai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/vmempool.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/wai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
	* itron/src/wup_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
	* sapi/include/rtems/config.h: Include <rtems/itron.h> instead of <itron.h>.
	* sapi/include/confdefs.h: Include <rtems/itron.h> instead of <itron.h>.
	* sapi/src/itronapi.c: Include <rtems/itron.h> instead of <itron.h>.
	* sapi/include/confdefs.h: Include <rtems/rtc.h> instead of <rtc.h>.
	* sapi/include/confdefs.h: Include <rtems/timerdrv.h> instead of <timerdrv.h>.
2004-04-01 10:14:23 +00:00
Ralf Corsepius 8bd411783a 2004-03-29 Ralf Corsepius <ralf_corsepius@rtems.org>
* sapi/include/confdefs.h, sapi/include/rtems/config.h,
	sapi/include/rtems/extension.h, sapi/include/rtems/fatal.h,
	sapi/include/rtems/init.h, sapi/include/rtems/io.h,
	sapi/src/exinit.c, sapi/src/extension.c, sapi/src/fatal.c,
	sapi/src/io.c: Convert to using c99 fixed size types.
2004-03-29 16:20:10 +00:00
Joel Sherrill b2b143f402 2004-03-05 Joel Sherrill <joel@OARcorp.com>
* libblock/src/bdbuf.c, libblock/src/ramdisk.c,
	libcsupport/src/newlibc.c, libcsupport/src/sync.c,
	libmisc/cpuuse/cpuuse.c, libmisc/monitor/mon-symbols.c,
	libmisc/shell/cmds.c, libmisc/shell/shell.c,
	libnetworking/kern/kern_sysctl.c, libnetworking/lib/ftpfs.c,
	libnetworking/lib/tftpDriver.c, libnetworking/libc/gethostbydns.c,
	libnetworking/libc/gethostbyht.c, libnetworking/libc/gethostnamadr.c,
	libnetworking/libc/getnetbyht.c, libnetworking/libc/getnetnamadr.c,
	libnetworking/libc/inet_addr.c, libnetworking/libc/linkaddr.c,
	libnetworking/libc/map_v4v6.c, libnetworking/libc/ns_print.c,
	libnetworking/libc/ns_ttl.c, libnetworking/libc/nsap_addr.c,
	libnetworking/libc/rcmd.c, libnetworking/libc/res_debug.c,
	libnetworking/libc/res_mkupdate.c, libnetworking/libc/res_query.c,
	libnetworking/libc/res_send.c, libnetworking/libc/res_update.c,
	libnetworking/net/radix.c, libnetworking/rtems/mkrootfs.c,
	librpc/src/rpc/clnt_perror.c, librpc/src/rpc/rtems_rpc.c,
	librpc/src/rpc/svc.c, sapi/include/confdefs.h,
	score/macros/rtems/score/chain.inl, score/src/objectidtoname.c:
2004-03-05 17:58:51 +00:00
Ralf Corsepius aa8ad84243 Remove. 2004-02-13 11:07:21 +00:00
Joel Sherrill 2ba508b631 2003-09-04 Joel Sherrill <joel@OARcorp.com>
* include/confdefs.h, include/rtems/config.h,
	include/rtems/extension.h, include/rtems/fatal.h,
	include/rtems/init.h, include/rtems/io.h, include/rtems/mptables.h,
	include/rtems/sptables.h, include/rtems/sptables.h.in,
	inline/rtems/extension.inl, macros/rtems/extension.inl, src/debug.c,
	src/exinit.c, src/extension.c, src/extensioncreate.c,
	src/extensiondelete.c, src/extensionident.c, src/fatal.c, src/io.c,
	src/itronapi.c, src/posixapi.c, src/rtemsapi.c: URL for license
	changed.
2003-09-04 18:54:35 +00:00
Ralf Corsepius d2c26e4bad Merger from rtems-4-6-branch. 2003-03-11 08:10:00 +00:00
Ralf Corsepius 9c59c2d953 Merger from rtems-4-6-branch. 2003-02-28 07:08:21 +00:00
Joel Sherrill 590cae7a98 2003-02-03 Joel Sherrill <joel@OARcorp.com>
PR 338/filesystem
	* include/rtems/io.h, src/io.c: Side-effect of fixing reentrancy
	problem with rtems_io_lookup_name() (API change).
2003-02-03 23:58:21 +00:00
Ralf Corsepius f117cafc8a 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Remove.
	* inline/Makefile.am: Remove.
	* macros/Makefile.am: Remove.
	* src/Makefile.am: Remove.
	* Makefile.am: Merge-in removed Makefile.ams.
2002-12-09 07:29:18 +00:00
Joel Sherrill 37cd592b0f 2002-07-04 Joel Sherrill <joel@OARcorp.com>
* Jump table for single entry point removed.
	* include/rtems/directives.h, src/entrytable.c: Removed.
	* include/Makefile.am, src/Makefile.am, src/exinit.c:  Modified to
	reflect above.
2002-07-04 16:22:54 +00:00
Joel Sherrill 0577ec1d78 2002-07-01 Joel Sherrill <joel@OARcorp.com>
* Mega patch merge to change the format of the object IDs to
	loosen the dependency between the SCORE and the various APIs.
	There was considerable work to simplify the object name management
        and it appears that the name_table field is no longer needed.
	This patch also includes the addition of the internal mutex
	which is currently only used to protect some types of allocation
	and deallocation.  This significantly can reduce context
	switch latency under certain circumstances.  In particular,
	some heap/region operations were O(n) and had dispatching
	disabled.  This should help enormously.  With this merge,
	the patch is not as clean as it should be.  In particular,
	the documentation has not been modified to reflect the new object
	ID layout, the IDs in the test screens are not updated, and
	_Objects_Get_information needs to be a real routine not inlined.
	As part of this patch a lot of MP code for thread/proxy blocking
	was made conditional and cleaned up.
	* include/confdefs.h, src/exinit.c, src/extension.c, src/itronapi.c,
	src/posixapi.c, src/rtemsapi.c:  Modified as part of above.
2002-07-01 22:31:29 +00:00
Ralf Corsepius fed6210d43 2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Include $(top_srcdir)/automake/*.am.
2002-06-17 09:27:44 +00:00
Joel Sherrill 5fd3ff86b1 2001-03-29 Joel Sherrill <joel@OARcorp.com>
* Per PR126, configuration structures now match docs.
	* include/rtems/config.h: Use public data types.
2002-04-02 23:51:16 +00:00
Joel Sherrill 96e6a86cd3 2001-03-28 Joel Sherrill <joel@OARcorp.com>
* PR132 requested some tinkering ot lower memory.
	* include/confdefs.h: Lowered footprint of device driver table
	and statically configure user extensions.  Now if no static
	extensions are configured, then the table is not instantiated.
2002-03-28 19:32:16 +00:00
Joel Sherrill ef7ceb4f5e 2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Remove AUTOMAKE_OPTIONS.
	* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* inline/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* src/Makefile.am: Remove AUTOMAKE_OPTIONS.
2002-03-28 00:45:40 +00:00
Joel Sherrill 059a371409 2001-10-16 Chris Johns <ccj@acm.org>
* include/confdefs.h, include/rtems/config.h, include/rtems/io.h,
	optman/no-io.c, src/exinit.c, src/io.c: Added a device driver
	register/unregister interface to allow device drivers to be
	installed and removed at runtime. This means you do not need devices
	present in the device table when you build.
2001-10-16 19:05:29 +00:00
Joel Sherrill a11e5d35cd 2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/Makefile.am: Remove.
	* include/Makefile.am: Handle subdirs, require automake-1.5.
	* inline/rtems/Makefile.am: Remove.
	* inline/Makefile.am: Handle subdirs, require automake-1.5.
	* macros/rtems/Makefile.am: Remove.
	* Makefile.am: require automake-1.5.
2001-10-16 13:31:15 +00:00
Joel Sherrill 0e053e83ae 2001-09-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
	* include/Makefile.am: Use 'PREINSTALL_FILES ='.
	* inline/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
	* macros/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
2001-09-28 13:36:26 +00:00
Joel Sherrill 1d4bac927a 2001-04-16 Joel Sherrill <joel@OARcorp.com>
* include/confdefs.h: Fix real-time clock support.
2001-04-16 20:32:16 +00:00
Joel Sherrill 3ebf5df3c6 2001-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am, include/rtems/Makefile.am,
	inline/rtems/Makefile.am, macros/rtems/Makefile.am:
	Apply include_*HEADERS instead of H_FILES.
2001-02-05 18:32:28 +00:00
Joel Sherrill 623893cc0d 2001-01-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/confdefs.h: define CONFIGURE_NEWLIB_EXTENSION 0 if not
	using NEWLIB, cleanup related comment.
2001-01-29 15:43:46 +00:00
Joel Sherrill 9c63d90561 2001-01-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/confdefs.h: include cpuopts.h, replace stubdr w/ devnull.
2001-01-26 21:54:57 +00:00
Joel Sherrill 72ad6aac90 2000-10-30 Joel Sherrill <joel@OARcorp.com>
* POSIX include files merged into newlib.  This resulted in
	some definitions moving to other files and thus some secondary
	effects in RTEMS source code.
	* include/confdefs.h: Replaced include of <sys/siginfo.h> with
	<signal.h> since that file no longer exists.
2000-10-31 16:35:16 +00:00
Joel Sherrill 45c3da3b36 2000-10-18 Joel Sherrill <joel@OARcorp.com>
* include/confdefs.h: Set CONFIGURE_INIT_TASK_STACK_SIZE to 0
	if there is no Classic API Initialization Tasks Table defined.
2000-10-18 18:08:32 +00:00
Joel Sherrill 399c2e5d5a 2000-10-18 Joel Sherrill <joel@OARcorp.com>
* include/confdefs.h: Modified code that accounts for initialization
	task/threads with greater than minimum stack sizes so it would
	compile even if optional APIs are disabled.
2000-10-18 12:55:58 +00:00
Joel Sherrill 563ed952ce 2000-10-12 Joel Sherrill <joel@OARcorp.com>
* include/confdefs.h: Account for initialization tasks and
	threads which use larger than minimum stack sizes.
2000-10-12 19:44:30 +00:00
Joel Sherrill 2e61938324 2000-09-28 Joel Sherrill <joel@OARcorp.com>
* include/rtems/io.h (rtems_driver_address_table): Added "_entry"
	to all names.
	* src/io.c: Accounted for above.
2000-09-28 20:22:40 +00:00
Joel Sherrill 168ba07c84 Patch from Eric Valette <valette@crf.canon.fr> and Yacine El Kolli
<elkolli@crf.canon.fr> to add support for the mbx860_005b.
2000-07-06 20:36:48 +00:00
Joel Sherrill df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00
Joel Sherrill bf85b19188 Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
adds .cvsignore.
2000-04-13 14:37:14 +00:00
Joel Sherrill 9608320702 Patch rtems-rc-19991117-4.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
.. a major configuration cleanup
    ... major enhancement of automake support.

    ... and it contains a *major*  breakthough:

    Automake support for libchip and libmisc *LEAF* directories.

    To implement this I have used several nasty tricks
        * The basical trick is to wrap an old Makefile.in's contents into a
          Makefile.am and still continue to use (i.e include) the old
          *.cfg files.

        * Replaced each INSTALL_IF_CHANGE and INSTALL_VARIANT with make
          dependencies
        * Add a gnu-make ifdef AUTOMAKE to main.cfg to avoid conflicts between
          automake and RTEMS make rules
        * Replaced each install:: and preinstall:: rule with make dependencies
        * Replaced SUB_DIRS with SUBDIRS in all Makefile.ins (Automake
          convention)
        * Removed each manually added autoconf substitution which automake
          performs automatically.

    This is not yet full automake support, because using the temporary
    installation directory, preinstallation in general and building variants
    are in contradiction to automake's basic working principles ...

    ... the new Makefile.ams work still somewhat clumsy
    ... nevertheless they work (quite well).

    WARNING:

    At first glance this patch is small, but
        * it affects the whole configuration system.
        * it opens the road to introducing automake to all Makefile.ins
          currently not being under automake control.

    JOEL> Does this remove or add any files?

    Both, all Makefile.ins below libchip and libmisc get replaced with
    Makefile.ams.
1999-11-22 13:41:11 +00:00
Joel Sherrill 08311cc3a9 Updated copyright notice. 1999-11-17 17:51:34 +00:00
Joel Sherrill f4b76ab569 Fixed so can be included multiple times in the executive source. 1999-11-16 16:04:51 +00:00
Joel Sherrill 352c9b2035 This patch adds the basic framework for the ITRON 3.0 API implementation
for RTEMS.
1999-11-09 22:07:23 +00:00
Joel Sherrill 968f774296 Fixed typo. 1999-11-05 17:45:55 +00:00
Joel Sherrill 458bd343e2 This is another pass at making sure that nothing outside the BSP
unnecessarily uses any variables defined by the BSP.  On this
sweep, use of BSP_Configuration and Cpu_table was eliminated.

A significant part of this modification was the addition of
macros to access fields in the RTEMS configuration structures.

This is necessary to strengthen the division between the BSP independent
parts of RTEMS and the BSPs themselves.  This started after
comments and analysis by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
1999-11-05 16:44:02 +00:00
Joel Sherrill f817b0283c The files in libcpu should not be directly dependent on any BSP. In
particular, using bsp.h, or getting information from the BSP which
should properly be obtained from RTEMS is forbidden.  This is
necessary to strengthen the division between the BSP independent
parts of RTEMS and the BSPs themselves.  This started after
comments and analysis by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
The changes primarily eliminated the need to include bsp.h and
peeking at BSP_Configuration.  The use of Cpu_table in each
BSP needs to be eliminated.
1999-11-04 18:05:09 +00:00
Joel Sherrill 86ed4f09d7 Added CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM as a configuration
parameter.
1999-11-03 12:48:41 +00:00
Joel Sherrill be0fc09935 Added CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES and
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES.
1999-11-02 15:55:34 +00:00
Joel Sherrill 43f7a90fc2 Enabled configuring mini or full IMFS. 1999-11-01 20:58:23 +00:00