libc.rst
.. module:: Libc
********************
C Standard Library
********************
.. function:: malloc(size::Integer) -> Ptr{Void}
.. Docstring generated from Julia source
Call ``malloc`` from the C standard library.
.. function:: calloc(num::Integer, size::Integer) -> Ptr{Void}
.. Docstring generated from Julia source
Call ``calloc`` from the C standard library.
.. function:: realloc(addr::Ptr, size::Integer) -> Ptr{Void}
.. Docstring generated from Julia source
Call ``realloc`` from the C standard library.
See warning in the documentation for ``free`` regarding only using this on memory originally obtained from ``malloc``\ .
.. function:: free(addr::Ptr)
.. Docstring generated from Julia source
Call ``free`` from the C standard library. Only use this on memory obtained from ``malloc``\ , not on pointers retrieved from other C libraries. ``Ptr`` objects obtained from C libraries should be freed by the free functions defined in that library, to avoid assertion failures if multiple ``libc`` libraries exist on the system.
.. function:: errno([code])
.. Docstring generated from Julia source
Get the value of the C library's ``errno``\ . If an argument is specified, it is used to set the value of ``errno``\ .
The value of ``errno`` is only valid immediately after a ``ccall`` to a C library routine that sets it. Specifically, you cannot call ``errno`` at the next prompt in a REPL, because lots of code is executed between prompts.
.. function:: strerror(n=errno())
.. Docstring generated from Julia source
Convert a system call error code to a descriptive string
.. function:: GetLastError()
.. Docstring generated from Julia source
Call the Win32 ``GetLastError`` function [only available on Windows].
.. function:: FormatMessage(n=GetLastError())
.. Docstring generated from Julia source
Convert a Win32 system call error code to a descriptive string [only available on Windows].
.. function:: time(t::TmStruct)
.. Docstring generated from Julia source
Converts a ``TmStruct`` struct to a number of seconds since the epoch.
.. function:: strftime([format], time)
.. Docstring generated from Julia source
Convert time, given as a number of seconds since the epoch or a ``TmStruct``\ , to a formatted string using the given format. Supported formats are the same as those in the standard C library.
.. function:: strptime([format], timestr)
.. Docstring generated from Julia source
Parse a formatted time string into a ``TmStruct`` giving the seconds, minute, hour, date, etc. Supported formats are the same as those in the standard C library. On some platforms, timezones will not be parsed correctly. If the result of this function will be passed to ``time`` to convert it to seconds since the epoch, the ``isdst`` field should be filled in manually. Setting it to ``-1`` will tell the C library to use the current system settings to determine the timezone.
.. function:: TmStruct([seconds])
.. Docstring generated from Julia source
Convert a number of seconds since the epoch to broken-down format, with fields ``sec``\ , ``min``\ , ``hour``\ , ``mday``\ , ``month``\ , ``year``\ , ``wday``\ , ``yday``\ , and ``isdst``\ .
.. function:: flush_cstdio()
.. Docstring generated from Julia source
Flushes the C ``stdout`` and ``stderr`` streams (which may have been written to by external C code).
.. function:: msync(ptr, len, [flags])
.. Docstring generated from Julia source
Forces synchronization of the :func:`mmap`\ ped memory region from ``ptr`` to ``ptr+len``\ . Flags defaults to ``MS_SYNC``\ , but can be a combination of ``MS_ASYNC``\ , ``MS_SYNC``\ , or ``MS_INVALIDATE``\ . See your platform man page for specifics. The flags argument is not valid on Windows.
You may not need to call ``msync``\ , because synchronization is performed at intervals automatically by the operating system. However, you can call this directly if, for example, you are concerned about losing the result of a long-running calculation.
.. data:: MS_ASYNC
Enum constant for :func:`msync`. See your platform man page for details. (not available on Windows).
.. data:: MS_SYNC
Enum constant for :func:`msync`. See your platform man page for details. (not available on Windows).
.. data:: MS_INVALIDATE
Enum constant for :func:`msync`. See your platform man page for details. (not available on Windows).