/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos72Q src/bos/usr/include/sys/layout.h 1.1.1.1 */ /* */ /* */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* OBJECT CODE ONLY SOURCE MATERIALS */ /* */ /* Restricted Materials of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1995,2019 */ /* All Rights Reserved */ /* */ /* The source code for this program is not published or otherwise */ /* divested of its trade secrets, irrespective of what has been */ /* deposited with the U.S. Copyright Office. */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)38 1.1.1.1 src/bos/usr/include/sys/layout.h, libi18n, bos72Q, q2019_13A4 2/6/19 00:42:08 */ /* * (c) Copyright 1995 Sun Microsystems, Inc. * All rights reserved. * See LEGAL NOTICE file for terms of the license. */ /* * This is the public header file for layout services. */ #ifndef _LAYOUT_H_ #define _LAYOUT_H_ /* */ #ifdef __cplusplus extern "C" { #endif /* ----------------------- Public declaration --------------------------- */ #define AllTextDescriptors 0x0000007f #define Orientation 1L #define Context (1L<<1) #define TypeOfText (1L<<2) #define ImplicitAlg (1L<<3) #define Swapping (1L<<4) #define Numerals (1L<<5) #define TextShaping (1L<<6) #define ActiveDirectional (1L<<16) #define ActiveShapeEditing (1L<<17) #define ShapeCharset (1L<<18) #define ShapeCharsetSize (1L<<19) #define ShapeContextSize (1L<<20) #define InOutTextDescrMask (1L<<21) #define InOnlyTextDescr (1L<<22) #define OutOnlyTextDescr (1L<<23) #define CheckMode (1L<<24) #define QueryValueSize (1L<<25) /* Possible values for Orientation */ #define ORIENTATION_LTR 0x00000001 #define ORIENTATION_RTL 0x00000002 #define ORIENTATION_TTBRL 0x00000003 #define ORIENTATION_TTBLR 0x00000004 #define ORIENTATION_CONTEXTUAL 0x00000005 /* Possible values for Context */ #define CONTEXT_LTR 0x00000010 #define CONTEXT_RTL 0x00000020 /* Possible values for TypeOfText */ #define TEXT_IMPLICIT 0x00000100 #define TEXT_EXPLICIT 0x00000200 #define TEXT_VISUAL 0x00000300 /* Possible values for ImplicitAlg */ #define ALGOR_BASIC 0x00001000 #define ALGOR_IMPLICIT 0x00002000 /* Possible values for Swapping */ #define SWAPPING_NO 0x00010000 #define SWAPPING_YES 0x00020000 /* Possible values for Numerals */ #define NUMERALS_NOMINAL 0x00100000 #define NUMERALS_NATIONAL 0x00200000 #define NUMERALS_CONTEXTUAL 0x00300000 /* Possible values for TextShaping */ #define TEXT_SHAPED 0x01000000 #define TEXT_NOMINAL 0x02000000 #define TEXT_SHFORM1 0x03000000 #define TEXT_SHFORM2 0x04000000 #define TEXT_SHFORM3 0x05000000 #define TEXT_SHFORM4 0x06000000 /* Possible values for CheckMode */ #define MODE_STREAM 0x00000001 #define MODE_EDIT 0x00000002 #define MaskAllTextDescriptors 0x0fffffff #define MaskOrientation 0x0000000f #define MaskContext 0x000000f0 #define MaskTypeOfText 0x00000f00 #define MaskImplicitAlg 0x0000f000 #define MaskSwapping 0x000f0000 #define MaskNumerals 0x00f00000 #define MaskTextShaping 0x0f000000 /* Mask for the Property parament of m_*transform() */ #define NESTLEVEL_MASK 0x0f #define DISPLAYCELL_MASK 0x10 typedef int LayoutId; typedef int BooleanValue; typedef void *LayoutValue; typedef struct { LayoutId name; LayoutValue value; } LayoutValueRec, *LayoutValues; typedef int LayoutDesc; typedef struct { LayoutDesc inp; LayoutDesc out; } LayoutTextDescriptorRec, *LayoutTextDescriptor; typedef struct { int front; int back; } LayoutEditSizeRec, *LayoutEditSize; typedef struct _LayoutObject *LayoutObject; /* Public name */ extern LayoutObject m_create_layout( #if NeedFunctionPrototypes const void* /* attrobj */, const char* /* modifier */ #endif ); extern int m_destroy_layout( #if NeedFunctionPrototypes const LayoutObject /* layoutobject */ #endif ); extern int m_getvalues_layout( #if NeedFunctionPrototypes const LayoutObject /* layoutobject */, LayoutValues /* values */, int* /* index_returned */ #endif ); extern int m_setvalues_layout( #if NeedFunctionPrototypes const LayoutObject /* layoutobject */, LayoutValues /* values */, int* /* index_returned */ #endif ); extern int m_transform_layout( #if NeedFunctionPrototypes LayoutObject /* layoutobject */, const char* /* InpBuf */, const size_t /* InpSize */, void* /* OutBuf */, size_t* /* OutSize */, size_t* /* InpToOut */, size_t* /* OutToInp */, unsigned char * /* Property */, size_t* /* InpBufIndex */ #endif ); extern int m_wtransform_layout( #if NeedFunctionPrototypes LayoutObject /* layoutobject */, const wchar_t* /* InpBuf */, const size_t /* InpSize */, void* /* OutBuf */, size_t* /* OutSize */, size_t* /* InpToOut */, size_t* /* OutToInp */, unsigned char * /* Property */, size_t* /* InpBufIndex */ #endif ); /* ----------------------- Private declaration --------------------------- */ #ifdef __cplusplus } #endif #endif /* _LAYOUT_H_ */