diff options
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.3p | 144 |
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 . |