HP DECwindows Motif
for OpenVMS Alpha
New Features


Previous Contents Index

4.2.3.6 DECW$LCN_SET_x_READY

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 


Returns


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.

Arguments

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.

4.2.3.7 DECW$LCN_THREAD_INIT

Initializes multithreading support for LCN operations.

Format

DECW$LCN_THREAD_INIT [efn] 


Returns


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.

Arguments

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.

Table 4-3 New Xlib Functions Supported for X11R6.6
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


1Also requires the symbol DECW$VSW_COMPLIANT.

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.

4.3.5.1 CLOSE OM

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

4.3.5.2 CONTEXTUAL DRAWING

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

4.3.5.4 DESTROY OC

OpenVMS Format

X$DESTROY_OC 


(oc) 

Argument Information
Argument Usage Data Type Access Mechanism
oc uns longword uns longword write reference

4.3.5.5 DIRECTIONAL DEPENDENT DRAWING

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

4.3.5.6 DISPLAY OF OM

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