[an error occurred while processing this directive]
HP OpenVMS Systems Documentation |
HP DECwindows Motif
|
Previous | Contents | Index |
Signals that input from a read, write, or exception operation has been received by changing the ready bit to the set state.
Format
DECW$LCN_SET_READ_READY lcn |
DECW$LCN_SET_WRITE_READY lcn |
DECW$LCN_SET_EXCEPT_READY lcn |
VMS usage: type: longword (unsigned) access: write mechanism: by value
Returns a longword condition value in R0. Condition values returned by this routine are listed under Condition Values Returned.
lcn
VMS usage: type: longword access: read only mechanism: by value
The value of the LCN whose ready bit will be changed to the set state (1).
Description
DECW$LCN_SET_x_READY sets the read, write, or except ready bit of an LCN. This signals input has been received from the specified operations.
These routines are thread- and AST-reentrant and callable from exec and lower modes. When any of the DECW$LCN_SET_x_READY routines are called from exec mode with multithreading enabled, the call declares a user mode AST. This AST performs the signaling for any user-mode processes that are currently in a wait state.
The equivalent functions of DECW$LCN_SET_x_READY are also available as system services (DECW$XPORT_LCN_SET_x) from the set of transport-common routines (DECW$XPORT_SERVICES.EXE).
Condition Values Returned
SS$_NORMAL | Routine successfully completed. |
SS$_EXQUOTA | The current memory quota has been exceeded. |
SS$_INSFMEM | There is insufficient memory to perform the operation. |
DECW$_INVLCN | The LCN has not been allocated. |
DECW$_NOT_INITIALIZED | The LCN has not been initialized; DECW$LCN_ALLOCATE must be called prior to this operation. |
Initializes multithreading support for LCN operations.
Format
DECW$LCN_THREAD_INIT [efn] |
VMS usage: type: longword (unsigned) access: write mechanism: by value
Returns a longword condition value in R0. Condition values returned by this routine are listed under Condition Values Returned.
efn
VMS usage: type: longword access: read only mechanism: by value
The value of the specified EFN. When multithreading is enabled, an EFN value must be specified when performing select operations (DECW$LCN_SELECT or DECW$LCN_SELECT_ONE) with event flag masks. The EFN is supplied either by DECW$LCN_THREAD_INIT or from the first select call that provides an efn argument.The value of the efn argument must match the value supplied for any previous select operations or calls to DECW$LCN_THREAD_INIT. The event flag must also be in the same event flag cluster as the efn value supplied to subsequent select or initialization operations.
Description
DECW$LCN_THREAD_INIT enables multithreaded LCN operations. This routine is only callable from user mode with user mode ASTs enabled and can be called multiple times by a single process.
Condition Values Returned
SS$_NORMAL | Routine successfully completed. |
DECW$_CHANGED_EFN | An event flag was specified that differs from that specified in a previous initialization or select call. |
DECW$_INSFMEM | There is insufficient memory to perform the operation. |
DECW$_NOPTHREADRTL | The POSIX Thread Library (PTHREAD$RTL) has not been loaded. |
DECW$_NOTUSERMODE | This routine was not called from user mode. |
DECW$_PTHREAD_INVALID | A POSIX Thread routine returned an unexpected error. |
4.3 X Window System Library (Xlib)
The following sections describe features related to X Window System
library (Xlib).
4.3.1 New Functions Available with X11R6.6 Upgrade
V1.3
As part of the core system upgrade to X11R6.6, the following new functions listed in Table 4-3 have been added to the version of Xlib available with DECwindows Motif for OpenVMS Alpha Version 1.3. Note that all functions are included in the current version of the DECW$XLIBSHR image.
Function Name | Description |
---|---|
_XAllocTemp | Thread-safe allocation of scratch data space for use by extension writers. |
_XFreeTemp | Frees the scratch data space allocated by _XAllocTemp. |
XCloseOM | Closes the specified output method. |
XcmsSetCCCOfColormap | Sets the color conversion context for the specified colormap. |
XAddConnectionWatch | Establishes a watch procedure callback for when internal connections are opened or closed. |
XConvertCase | Obtains the uppercase and lowercase forms of a KeySym. |
XContextualDrawing | Indicates whether text drawn with the current font set includes context-dependent drawing. |
XCreateOC | Creates an output context within the specified output method. |
XDestroyOC | Destroys an output context. |
XDirectionalDependentDrawing | Indicates whether the drawing functions implement text directionality. |
XDisplayOfOM | Returns the display associated with the specified output method. |
XESetBeforeFlush | Defines a procedure that will be called just before data is sent to the X server. |
XExtendedMaxRequestSize | Returns the maximum request size using extended length encoding (the BIG-REQUESTS extension). |
XGetAtomNames | Returns the names associated with the specified X atoms. |
XGetOCValues | Obtains the current output context values. |
XGetOMValues | Obtains the current output method values. |
XInitThreads | Initializes support for multiple threads. |
XInternalConnectionNumbers | Returns a list of the internal connections open for a specified display. |
XInternAtoms | Returns atoms for an array of names. |
XLocaleOfOM | Returns the locale associated with the specified output method. |
XLockDisplay | Locks a display to protect against concurrent access from multiple threads. |
XOMOfOC | Returns the output method associated with the specified output context. |
XOpenOM | Opens an X output method for the specified locale and modifiers. |
XProcessInternalConnection | Processes input available on an internal connection. |
XReadBitmapFileData | Reads a bitmap from a file and returns it as data. |
XRegisterIMInstantiateCallback | Registers an input method callback. |
XRemoveConnectionWatch | Removes a watch procedure established by XAddConnectionWatch. |
XSetOCValues | Specifies one or more output context values. |
XSetOMValues | Specifies one or more output method values. |
XUnlockDisplay | Removes a lock established by XLockDisplay. |
XUnregisterIMInstantiateCallback | Unregisters an input method instantiation callback. |
See the Xlib - C Language X Interface, X Consortium Standard, X
Version 11, Release 6.4 specification available from X.Org for
detailed information about each of these functions.
4.3.2 Updated Client-Side Extension Library
V1.3
The client-side extension library (DECW$XEXTLIBSHR) has been updated to support multithreading and new header files for the following new extensions available as part of the upgrade to X11R6.6:
All extensions in the library (new and existing) have been made thread-safe (as described in Section 4.1.1). In addition, the minor version of the library has been updated from 2,2 to 2,3 to prevent images linked against the updated DECW$XEXTLIBSHR from loading the incorrect version of the library.
Also, function names longer than 31 characters have been replaced by macro definitions compatible with the current version of the OpenVMS Linker.
See Section 4.5.1 for an overview of each of these extensions. For
instructions on how to link to this library, see Section 4.3.8.
4.3.3 Support for LCNs
V1.3
Xlib now provides an alternate means of obtaining connection numbers for connections to DECwindows Motif for OpenVMS Alpha Version 1.3 or higher servers. The logical connection number (LCN) interface was specifically designed to support the communication needs of X11R6 systems and is intended as a replacement for the EFN mechanism.
The following functions and macros are designed for use with the new LCN interface:
These Xlib functions and macros are described in the Xlib - C Language X Interface, X Consortium Standard, X Version 11, Release 6.4 specification available from X.Org.
Note for compatibility with DECwindows Motif for OpenVMS Version 1.2--6 and earlier clients, the existing event flag mechanism remains unchanged, and the XtAppAddInput function accepts both EFNs and LCNs. However, HP recommends that new applications, in particular ones that use multithreading, use LCNs. When Xlib has multithreading enabled, EFNs are not available. If a multithreaded application uses EFNs without multithreading enabled in Xlib, the EFN should be restricted to a single thread--the same thread used for all X calls.
For more information about the LCN interface and its available
routines, see Section 4.2.2.
4.3.4 Updated X11 Environment Variable Parsing
V1.3
Xlib now accepts the equivalent X11 Release 6 (X11R6) POSIX-compliant forms of the following environment variables:
OpenVMS Form | X11R6 Form |
---|---|
DECW$DISPLAY | DISPLAY |
DECW$RESOURCE_NAME | RESOURCE_NAME 1 |
On connection to the X display server, Xlib checks the variable name.
If the OpenVMS variable is not defined, Xlib checks for the X11R6
equivalent before returning a status value.
4.3.5 Additional Non-C Language Bindings Available with X11R6.6
Non-C language bindings (such as Fortran and Pascal) for the following new Xlib functions have been added to DECwindows Motif for OpenVMS Alpha Version 1.3. These bindings are in addition to those documented in the DECwindows Motif for OpenVMS Guide to Non-C Bindings.
OpenVMS Format
status_return = X$CLOSE_OM |
(om) |
Argument Information
Argument | Usage | Data Type | Access | Mechanism |
---|---|---|---|---|
status_return | longword | longword | write | value |
om | identifier | uns longword | read | reference |
OpenVMS Format
status_return = X$CONTEXTUAL_DRAWING |
(font_set) |
Argument Information
Argument | Usage | Data Type | Access | Mechanism |
---|---|---|---|---|
status_return | cond_value | longword | write | value |
font_set | identifier | uns longword | read | reference |
4.3.5.3 CONVERT CASE
OpenVMS Format
X$CONVERT_CASE |
(sym, lower, upper) |
Argument Information
Argument | Usage | Data Type | Access | Mechanism |
---|---|---|---|---|
sym | uns longword | uns longword | read | reference |
lower | uns longword | uns longword | write | reference |
upper | uns longword | uns longword | write | reference |
OpenVMS Format
X$DESTROY_OC |
(oc) |
Argument Information
Argument | Usage | Data Type | Access | Mechanism |
---|---|---|---|---|
oc | uns longword | uns longword | write | reference |
OpenVMS Format
status_return = X$DIRECTIONAL_DEPENDENT_DRAWING |
(font_set) |
Argument Information
Argument | Usage | Data Type | Access | Mechanism |
---|---|---|---|---|
status_return | cond_value | longword | write | value |
font_set | identifier | uns longword | read | reference |
OpenVMS Format
display_return = X$DISPLAY_OF_OM |
(om) |
Argument Information
Argument | Usage | Data Type | Access | Mechanism |
---|---|---|---|---|
display_return | identifier | uns longword | write | value |
om | uns longword | uns longword | read | reference |
4.3.5.7 EXTENDED MAX REQUEST SIZE
OpenVMS Format
req_size_return = X$EXTENDED_MAX_REQUEST_SIZE |
(display) |
Argument Information
Argument | Usage | Data Type | Access | Mechanism |
---|---|---|---|---|
req_size_return | longword | longword | write | value |
display | identifier | uns longword | read | reference |
Previous | Next | Contents | Index |