man pages section 3: Extended Library Functions, Volume 2

Exit Print View

Updated: July 2014
 
 

m_create_layout(3LAYOUT)

Name

m_create_layout - initialize a layout object

Synopsis

cc [ flag... ] file... –llayout [ library... ]
#include <sys/layout.h>



LayoutObject m_create_layout(const AttrObject attrobj,
      const char*modifier);

Description

The m_create_layout() function creates a LayoutObject associated with the locale identified by attrobj.

The LayoutObject is an opaque object containing all the data and methods necessary to perform the layout operations on context-dependent or directional characters of the locale identified by the attrobj. The memory for the LayoutObject is allocated by m_create_layout(). The LayoutObject created has default layout values. If the modifier argument is not NULL, the layout values specified by the modifier overwrite the default layout values associated with the locale. Internal states maintained by the layout transformation function across transformations are set to their initial values.

The attrobj argument is or may be an amalgam of many opaque objects. A locale object is just one example of the type of object that can be attached to an attribute object. The attrobj argument specifies a name that is usually associated with a locale category. If attrobj is NULL, the created LayoutObject is associated with the current locale as set by the setlocale (3C) function.

The modifier argument announces a set of layout values when the LayoutObject is created.

Return Values

Upon successful completion, the m_create_layout() function returns a LayoutObject for use in subsequent calls to m_*_layout() functions. Otherwise the m_create_layout() function returns (LayoutObject) 0 and sets errno to indicate the error.

Errors

The m_create_layout() function may fail if:

EBADF

The attribute object is invalid or the locale asssociated with the attribute object is not available.

EINVAL

The modifier string has a syntax error or it contains unknown layout values.

EMFILE

There are {OPEN_MAX} file descriptors currently open in the calling process.

ENOMEM

Insufficient storage space is available.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See also

setlocale(3C), attributes(5) , standards(5)