summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2017/man3p/posix_typed_mem_get_info.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2017/man3p/posix_typed_mem_get_info.3p')
-rw-r--r--man-pages-posix-2017/man3p/posix_typed_mem_get_info.3p144
1 files changed, 144 insertions, 0 deletions
diff --git a/man-pages-posix-2017/man3p/posix_typed_mem_get_info.3p b/man-pages-posix-2017/man3p/posix_typed_mem_get_info.3p
new file mode 100644
index 0000000..be191fe
--- /dev/null
+++ b/man-pages-posix-2017/man3p/posix_typed_mem_get_info.3p
@@ -0,0 +1,144 @@
+'\" et
+.TH POSIX_TYPED_MEM_GET_INFO "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+posix_typed_mem_get_info
+\(em query typed memory information
+(\fBADVANCED REALTIME\fP)
+.SH SYNOPSIS
+.LP
+.nf
+#include <sys/mman.h>
+.P
+int posix_typed_mem_get_info(int \fIfildes\fP,
+ struct posix_typed_mem_info *\fIinfo\fP);
+.fi
+.SH DESCRIPTION
+The
+\fIposix_typed_mem_get_info\fR()
+function shall return, in the
+.IR posix_tmi_length
+field of the
+.BR posix_typed_mem_info
+structure pointed to by
+.IR info ,
+the maximum length which may be successfully allocated by the typed
+memory object designated by
+.IR fildes .
+This maximum length shall take into account the flag
+POSIX_TYPED_MEM_ALLOCATE or POSIX_TYPED_MEM_ALLOCATE_CONTIG specified
+when the typed memory object represented by
+.IR fildes
+was opened. The maximum length is dynamic; therefore, the value
+returned is valid only while the current mapping of the corresponding
+typed memory pool remains unchanged.
+.P
+If
+.IR fildes
+represents a typed memory object opened with neither the
+POSIX_TYPED_MEM_ALLOCATE flag nor the POSIX_TYPED_MEM_ALLOCATE_CONTIG
+flag specified, the returned value of \fIinfo\fR->\fIposix_tmi_length\fR
+is unspecified.
+.P
+The
+\fIposix_typed_mem_get_info\fR()
+function may return additional implementation-defined information in
+other fields of the
+.BR posix_typed_mem_info
+structure pointed to by
+.IR info .
+.P
+If the memory object specified by
+.IR fildes
+is not a typed memory object, then the behavior of this function is
+undefined.
+.SH "RETURN VALUE"
+Upon successful completion, the
+\fIposix_typed_mem_get_info\fR()
+function shall return zero; otherwise, the corresponding error status
+value shall be returned.
+.SH ERRORS
+The
+\fIposix_typed_mem_get_info\fR()
+function shall fail if:
+.TP
+.BR EBADF
+The
+.IR fildes
+argument is not a valid open file descriptor.
+.TP
+.BR ENODEV
+The
+.IR fildes
+argument is not connected to a memory object supported by this
+function.
+.P
+This function shall not return an error code of
+.BR [EINTR] .
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+None.
+.SH "APPLICATION USAGE"
+None.
+.SH RATIONALE
+An application that needs to allocate a block of typed memory with
+length dependent upon the amount of memory currently available must
+either query the typed memory object to obtain the amount available, or
+repeatedly invoke
+\fImmap\fR()
+attempting to guess an appropriate length. While the latter method is
+existing practice with
+\fImalloc\fR(),
+it is awkward and imprecise. The
+\fIposix_typed_mem_get_info\fR()
+function allows an application to immediately determine available
+memory. This is particularly important for typed memory objects that
+may in some cases be scarce resources. Note that when a typed memory
+pool is a shared resource, some form of mutual-exclusion or
+synchronization may be required while typed memory is being queried and
+allocated to prevent race conditions.
+.P
+The existing
+\fIfstat\fR()
+function is not suitable for this purpose. We realize that
+implementations may wish to provide other attributes of typed memory
+objects (for example, alignment requirements, page size, and so on).
+The
+\fIfstat\fR()
+function returns a structure which is not extensible and, furthermore,
+contains substantial information that is inappropriate for typed memory
+objects.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIfstat\fR\^(\|)",
+.IR "\fImmap\fR\^(\|)",
+.IR "\fIposix_typed_mem_open\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<sys_mman.h>\fP"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+In the event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .