Product Documentation
Design Data Translators SKILL Reference
Product Version IC23.1, November 2023

1


XStream Functions

The SKILL programming language lets you customize and extend your design environment. SKILL provides a safe, high-level programming environment that automatically handles many traditional system programming operations, such as memory management. SKILL programs can be immediately executed in the Cadence environment.

This information set describes custom layout SKILL functions for layout editor, parameterized cells, compactor, structure compiler, placement and routing translation, layout XL, custom digital placer, and Virtuoso constraint manager. It is aimed at developers and designers of integrated circuits and assumes that you are familiar with:

Component description format (CDF), which lets you create and describe your own components for use with Layout XL.

Licensing Requirements

This section describes an overview of how licensing is implemented in physical translators, XStream In, XStream Out, XOasis In, XOasis Out, LEF In, LEF Out, DEF In, and DEF Out translators. The licensing scheme is the same for both command line and GUI translators.

In case, a license is not available for a translator and you select File – Import – LEF/DEF/Stream option from CIW, a form will be displayed without a license. You can specify the values in the form and click the OK button. The translator in this case would perform a validation check for license and try to checkout the license. You will not be able to do the translation if the license is unavailable.

This license "111" is required to run all these physical design translators.

These translators work only with the Design Framework II license "111" and with no other product license. Therefore, even if Layout XL or a higher tier license is available, you will not be able to run these translators if license "111" is not available. Also, to be able to run some advanced SKILL APIs that used in libInit.il or Pcell SKILL code, you will require functionality based licenses (L/XL/GXL).

This chapter provides syntax, descriptions, and examples for the SKILL functions associated with the XStream translator.

There are two types of SKILL functions in XStream:

Command-Line SKILL Functions

poCellNameMap

poCellNameMap(
t_lib
t_cell
t_view
)
=> t_mapName / nil

Description

Passes the library name, cell name and the view name for each cell in the library to a user-defined procedure.

While translating a cellview, Stream Out first checks for the cell name map file. If a cell name map file is not specified, then Stream Out checks whether the user-defined SKILL file is provided and the poCellNameMap function is defined. If the function is defined, it is called and the library name, cell name, and view name are passed to this function. The string value returned by this function is considered as new name for the cellview. For more information, see the Cell Name Map File section.

When both Cell Map File Name and poCellNameMap are specified, value specified for Cell Map File Name is used.

Arguments

t_lib

OpenAccess library name

t_cell

OpenAccess cell name

t_view

OpenAccess view name

Value Returned

t_mapName

The translated cell name

nil

If the cell name is not mapped

Example

In this example, the characters "_po" are added to every cell name. The library and view are ignored.

procedure( poCellNameMap( lib cell view )
prog( ( mapname )
sprintf( mapName "%s_po" cell)
return( mapName )
);prog
);procedure

poLayerMap

poLayerMap(
t_layerName
t_purposeName
)
=> l_layerDatatype / nil

Description

This is a user-defined function that passes the layer number and datatype for each layer in the input Stream file, when it is called. Stream Out interprets the output of the procedure in the same way it interprets the OpenAccess name and purpose. However, Stream Out checks for this function only if the layer map file (-layerMap option) is not specified. If the layer map file is specified, the poLayerMap function is ignored. For more information, see the Layer Map File section.

Arguments

t_layerName

OpenAccess layer name.

t_purposeName

OpenAccess purpose name.

Value Returned

l_layerDataType

A list containing two integers. The first integer is the translated layer number. The second integer is the translated data type.

nil

If no mapping is provided.

Example

In this example, the "text drawing" layer-purpose pair is mapped to GDSII layer 15 and data type 0. The "diff drawing" layer-purpose pair is mapped to layer 18 and data type 0.

procedure( poLayerMap( layerName layerPurpose )
prog( ( lay )
case( layerName
( "text" return( list( 15 0 ) ) )
( "diff" return( list( 18 0 ) ) )
( "substrate" return( list( 20 0 ) ) )
( t return( list( 55 0 ) ) );default
);case
);prog
);procedure

textFontMap

textFontMap(
t_fontName
)
=> l_streamFont / nil

Description

Passes each font type in a Design Framework II library to a user-defined procedure.

While translating the OpenAccess label, Stream Out checks whether the font is mapped through text font map file. If the text font map file is not provided or the font is not mapped through the text font map file, then Stream Out checks for the textFontMap SKILL function. If the function is defined, then Stream Out calls this function and OpenAccess font name as the argument.

Valid Stream font numbers are 0, 1, 2, and 3. The OpenAccess font names are Unknown, EuroStyle, Gothic, Math, Roman, Script, Stick, Fixed, Swedish, and MilSpec. For more information, see the Text Font Map File section.

Arguments

t_fontName

The OpenAccess font name.

Value Returned

l_streamFont

Stream font number.

nil

Font not mapped.

Example

In this example, the DFII fonts Gothic, Roman, and Script are mapped to Stream fonts 3, 1, and 2. All others are mapped to the Stream font 0.

procedure( textFontMap( font )
prog( ()
case( font
( “Gothic” return( 3 ) )
( “Roman” return( 1 ) )
( “Script” return( 2 ) )
(t return( 0 ) )
);case
);prog
);procedure

piCellNameMap

piCellNameMap(
t_cell
)
=> l_cellview / nil

Description

Passes the cell name for each cell name in the input file to a user-defined procedure.

Stream In interprets the output of the procedure in the same way as it interprets the output of the same procedure in the OpenAccess library, cell, and view names. For more information, see the Cell Name Map File section.

Arguments

t_cell

The input cell name.

Value Returned

l_cellview

A list containing the OpenAccess library, cell, and view names.

nil

No cell and view names are found.

Example

In this example, the characters "_pi" are added to every cell name and reflib1 and layout is returned as library name and view name.

procedure( piCellNameMap( cell )
prog( ( mapname )
sprintf( mapname "%s_pi" cell )
return( list( “reflib1” mapname "layout" ) )
);prog
);procedure
procedure( piCellNameMap( cell )
prog( ( mapname )
sprintf( mapname "%s_pi" cell )
return( list( “XST_TARGET_LIB” mapname "layout" ) )
);prog
);procedure
Here, the XST_TARGET_LIB name will be replaced with the library name specified using the -lib option.
In this example, the special character / in a cell name is replaced with _.
procedure( piCellNameMap( cell )
                     prog( ( mapname )
                               cellName=sprintf( nil "%s" cell )
                                rexCompile("/")
                                mapname=rexReplace(cellName "_" 0)
                                println(mapname)
                return( list( "myLib" mapname "layout" ) )
         );prog
);procedure

piLayerMap

piLayerMap(
x_layer
x_dataType
)
=> l_lpp / nil

Description

This is a user-defined function that passes the layer number and datatype for each layer in the input Stream file, when it is called. Stream In interprets the output of the procedure in the same way it interprets the OpenAccess name and purpose. However, Stream In checks for this function only if the layer map file (-layerMap option) is not specified. If the layer map file is specified, the piLayerMap function is ignored. For more information, see the Layer Map File section.

Arguments

x_layer

Input layer number.

x_dataType

Input datatype number.

Value Returned

l_lpp

A list containing two strings. The first string is the dfII layer name. The second string is the dfII layer purpose.

nil

No layer or datatype numbers are found.

Example

In this example, the input layers 1 to 10 are mapped to the Design Framework II layer-purpose pair text drawing.

procedure( piLayerMap( layer datatype )
prog( ( lay )
lay=layer
if( lay >= 1 && lay <= 10 then
    return( list( "text" "drawing") ) 
)))

piTextMap

piTextMap(
t_label
)
=> t_changedLabel

Description

Modifies the text that is translated from the Stream file to a dfII library.

During Stream In, if you specify a SKILL file having piTextMap defined in it, then this function is called for each text object and the text string is passed as an argument to this function. The string returned by this function is used to modify the text in the target dfII library.

Arguments

t_label

Text to be modified.

Value Returned

t_changedLabel

Modified text.

Example

During Stream In, you can replace the character [ with < and character ] with > by using the piTextmap function.

procedure( piTextMap( label )
prog( ( newLabel )
rexCompile( "\\[" )
newLabel = rexReplace( label "<" 1 )
rexCompile( "\\]" )
newLabel = rexReplace( newLabel ">" 1 )
return( newLabel )
);prog
);procedure

poTextMap

poTextMap(
t_label
)
=> t_changedLabel

Description

Modifies the text that is translated from the dfII library to the Stream file.

During Stream Out, if you specify a SKILLfile having poTextMap defined in it, then this function is called for all text objects and the text string is passed as an argument to this function.

The string returned by this function is used to create the text object in the Stream file. It is applicable to all the strings present in the dfII library and being translated as text in the Stream file as labels. The string is also applicable to the text translated corresponding to pins when you use the Convert Pin to option to translate pins as texts.

Arguments

t_label

Text to be modified.

Value Returned

t_changedLabel

Modified text.

Example

During Stream In, you can replace the character [ with < and character ] with > by using the poTextmap function.

poParamCellNameMap

poParamCellNameMap( 
t_name
d_cvid
)
=> t_mapName 

Description

This is a user-defined function that is called with the parameterized cell name (super-master name) and sub-master cellview identifier. Stream Out interprets the output of the procedure in the same way as it interprets the translated name for the parameterized cell.

Arguments

t_name

The Virtuoso Design Environment parameterized cell name (super-master name) defined by the user.

d_cvid

The Virtuoso Design Environment parameterized cell variant (sub-master) cellview identifier.

Value Returned

t_mapName

The name of the translated parameterized cell.

Example

In this example, the translator appends the cellview identifier to every parameterized cell name, making the cell name unique.

procedure( poParamCellNameMap( name ID )
  sprintf( nil "%s_%L" name ID )
);procedure

poPreTranslate

poPreTranslate(
lib
cell
view
)

Description

During StreamOut, this function is called just before the translation starts.

Open the OpenAccess designs only in read mode.
XStream Out supports only those SKILL functions that are essential to evaluate a Pcel. These are SKILL Core, db, dd, tech, cst, abe, vfo (vfo.cxt), and pas (pdkutils.cxt) SKILL functions. Application specific functions such as le, hi, sch, lx, and via are not supported. XStream In supports only following SKILL Core, db, dd, tech, and cst SKILL functions. Application specific functions, such as le, hi, sch, lx, via and so on are not supported.

Arguments

lib

Contains the input library specified by the user.

cell

Contains the topCell specified by the user or empty string if not specified.

view

Contains the view specified by the user or empty string if not specified.

Value Returned

None

Example

In this example, the function will print the values of lib, cell, and view.

procedure(poPreTranslate(lib cell view)
let((cv)
 printf("In PreTranslate of Stream Out\n")
 printf("Library: %s\n" lib)
 printf("Cell: %s\n" cell)
 printf("View: %s\n" view)
 cv=dbOpenCellViewByType(lib cell view "maskLayout" "r")
 ;; modification in cv
);let
)

poPostTranslate

poPostTranslate(
lib
cell
view
)

Description

During StreamOut, this function is called just after the translation is completed.

Arguments

lib

Contains all libraries created by StreamIn, separated by space.

cell

Contains the topCell specified by the user or empty string if not specified.

view

Contains the view specified by the user or empty string if not specified.

Value Returned

None

Example

In this example, the function will print the values of lib, cell, and view.

procedure( poPostTranslate( lib cell view )
prog( ( )
printf("In PostTranslate of Stream Out\n")
printf("Library: %s\n" lib)
printf("Cell: %s\n" cell)
printf("View: %s\n" view)
);prog
)

piPreTranslate

piPreTranslate(
lib
cell
view
)

Description

During XStream In translation, this function is called just before the translation starts.

Arguments

lib

Contains the destination library specified by the user.

cell

Contains the topCell specified by the user or empty string if not specified.

view

Contains the view specified by the user or empty string if not specified.

Value Returned

None

Example

In this example, the function will print the values of lib, cell, and view.

procedure( piPreTranslate( lib cell view )
prog( ( )
printf("In PreTranslate of Stream In\n")
printf("Library: %s\n" lib)
printf("Cell: %s\n" cell)
printf("View: %s\n" view)
);prog
)

piPostTranslate

piPostTranslate(
lib
cell
view
)

Description

During XStream In translation, this function is called just after the translation is completed. If the -topCell option is not specified, piPostTranslate is called with all the top cells found during Xstream In translation as a string of space separated names.

Open the OpenAccess designs only in append mode.
XStream Out supports only those SKILL functions that are essential to evaluate a Pcel. These are SKILL Core, db, dd, tech, cst, abe, vfo (vfo.cxt), and pas (pdkutils.cxt) SKILL functions. Application specific functions such as le, hi, sch, lx, and via are not supported. XStream In supports only following SKILL Core, db, dd, tech, and cst SKILL functions. Application specific functions, such as le, hi, sch, lx, via and so on are not supported.

Arguments

lib

Contains all the libraries created by StreamIn, separated by space.

cell

Contains the top cell specified by the user or a string of top cells identified by the Xstream In translator, if not specified.

view

Contains the view specified by the user or empty string if not specified.

Value Returned

None

Examples

Example 1

In this example, the function will print the values of lib, cell, and view.

procedure(piPostTranslate(lib cell view)
let((cv)
 printf("In PostTranslate of Stream In\n")
 printf("Library: %s\n" lib)
 printf("Cell: %s\n" cell)
 printf("View: %s\n" view)
 cv=dbOpenCellViewByType(lib cell view "maskLayout" "a")
 ;; modification in cv
);let
)

Example 2

procedure(piPostTranslate(lib cell view) 
        let((c sumFile logFile)
            if(listp(cell) == nil then
                printf("\n piPostTranslate is called with topcell = (%s)\n" cell)
             else
                printf("\n piPostTranslate is called with topcell list = (") 
                foreach( c cell 
                    printf(" %s" c)
                    )
                printf(")\n")
              )))

Output:

piPostTranslate is called with topcell = (topCell1 topCell2 topCell3)

GUI SKILL Functions

xstInOnCancel

xstInOnCancel()

Description

This is a user-defined function, which is called when user presses the Cancel button.

Arguments

None

Value Returned

None

Example

procedure( xstInOnCancel()
sprintf(“Translation canceled“)
);procedure

xstInOnTranslate

xstInOnTranslate()

Description

This is a user-defined function, which is called when user presses the Apply or Translate button.

Arguments

None

Value Returned

None

Example

procedure( xstInOnTranslate()
sprintf(“Starting Translation“)
);procedure

xstInOnCompletion

xstInOnCompletion(x_num)

Description

This is a user-defined function, which is called when the translation is completed.

Arguments

x_num

It is an integer parameter. If the translation is completed without any error, this value is zero. However, if error occurs during translation, this value is non-zero.

Value Returned

None

Example

procedure( xstInOnCompletion( status )

fprintf(outPort "In xstInOnCompletion of XStream In GUI: %d\n" status)
if( status == 0 then
fprintf(outPort "Successfully completed\n" status)
else
fprintf(outPort "Error occured during translation\n" status)
);if

)

In this example, if the function is called with status value 0, it means that translation has completed successfully. However, if the function is called with a non-zero status value, it means that error occurred during translation.

xstOutOnCancel

xstOutOnCancel()

Description

This is a user-defined function, which is called when user presses the Cancel button.

Arguments

None

Value Returned

None

Example

procedure( xstOutOnCancel()
sprintf(“Translation canceled“)
);procedure

xstOutOnTranslate

xstOutOnTranslate()

Description

This is a user-defined function, which is called when user presses the Apply or Translate button.

Arguments

None

Value Returned

None

Example

procedure( xstOutOnTranslate()
sprintf(“Starting Translation“)
);procedure

xstOutOnCompletion

xstOutOnCompletion(x_num)

Description

This is a user-defined function, which is called when the translation is completed.

Arguments

x_num

It is an integer parameter. If the translation is completed without any error, this value is zero. However, if error occurs during translation, this value is non-zero.

Value Returned

None

Example

procedure( xstOutOnCompletion( status )

fprintf(outPort "In xstOutOnCompletion of XStream Out GUI: %d\n"
status)
if( status == 0 then
fprintf(outPort "Successfully completed\n" status)
else
fprintf(outPort "Error occured during translation\n" status)
);if

)

In this example, if the function is called with status value 0, translation is completed successfully. However, if the function is called with a non-zero status value, it implies that error occurred during translation.

xstInGetField

xstInGetField(
t_optionName
)
=> t_value / nil

Description

Enables you to access GUI field values from the XStream In form. You can access all the GUI field values using the appropriate option name.

Arguments

t_optionName

The name of the field that needs to be accessed from the XStream In form. Valid values are the command line option name of the XStream In form field, virtualMemory and showCompletionMsgBox. For list of valid values, see XStream In GUI and Template File Options.

Value Returned

t_value

The value returned from the XStream In form.

nil

The field name specified in the t_optionName argument is incorrect.

Example

Using SKILL commands, you can access the values specified in various fields, such as text box, check box, radio button, drop-down menu, and mapping tables, of the XStream In form. A few examples are given below:

xstGetField

xstGetField(
 t_optionName )
 => t_value / nil

Description

Enables you to access GUI field values from the XStream Out form. You can access all the GUI field values using the appropriate option name.

Arguments

t_optionName

The name of the field that needs to be accessed from the XStream Out form. Valid values are the command line option name of the XStream Out form field, virtualMemory and showCompletionMsgBox. For list of valid values, see XStream Out Option Names in GUI and Template File.

Value Returned

t_value

The value returned from the XStream Out form.

nil

The field name specified in the t_optionName argument is incorrect.

Example

If you want to access the value in the Stream File field in the XStream Out form, then you need to enter the following syntax in CIW:

xstGetField("strmFile")
=> "test.gds"

If you want to access the value selected in the Virtual Memory check box, then you need to enter the following syntax in CIW:

xstGetField("virtualMemory")

=> "true"

This field returns a boolean value.

xstInSetField

xstInSetField(
t_optionNamet_value)
=> t / nil

Description

Enables you to populate GUI field values in the XStream In form. You can populate all the GUI field values using the appropriate option name and value.

Arguments

t_optionName

The name of the field that needs to be populated. Valid values are the command line option name of the XStream In form field, virtualMemory and showCompletionMsgBox. For list of valid values, see XStream In GUI and Template File Options.

t_value

The value by which the field needs to be populated.

Value Returned

t

The value is populated in the XStream In form.

nil

The value is not populated in the XStream In form.

Example

Using SKILL commands, you can populate the values in various fields, such as text box, check box, radio button, drop-down menu, and mapping tables, of the XStream In form. A few examples are given below:

xstSetField

xstSetField(
 t_optionName
 t_value
 )
 => t / nil

Description

Enables you to populate GUI field values in the XStream Out form. You can populate all the GUI field values using the appropriate option name and value.

Arguments

t_optionName

The name of the field that needs to be populated in the XStream Out form. Valid values are the command line option name of the XStream In form field, virtualMemory and showCompletionMsgBox. For list of valid values, see XStream Out Option Names in GUI and Template File.

t_value

The value by which the field needs to be populated.

Value Returned

t

The value is populated in the XStream Out form.

nil

The value is not populated in the XStream Out form.

Example

If you want to populate the Stream File field in the XStream Out form, then you need to enter the following syntax in CIW:

xstSetField("strmFile" "test.gds")

However, there are some special cases where you want to strmout a copy of the design present in virtual memory. To do this, you need to select the Virtual Memory check box by using the following syntax in CIW:

xstSetField("virtualMemory" "true")

xstOutDoTranslate

xstOutDoTranslate()

Description

Issues the StreamOut command based on the GUI field values. By default, this function is a non-blocking function. However, if the Stream Out From Virtual Memory option is selected, then this function becomes a blocking function.
Before executing the xstOutDoTranslate function, you need to either specify the values for both the Stream File and Library fields or the Cell List File field in the Stream Out form.

Argument

None

Value Returned

nil

Example

In this example, you need to translate library, lib1 to Stream File, out.gds. To do this, you need to execute the following functions:
xstSetField("strmFile" "out.gds")
xstSetField("library" "lib1")
xstOutDoTranslate()

xstInDoTranslate

xstInDoTranslate()

Description

Issues the StreamIn command based on the GUI field values. By default, this function is a non-blocking function. However, if the Stream In to Virtual Memory option is selected, then this function becomes a blocking function.

Before executing the xstInDoTranslate function, you need to specify the value for the Stream File and specify the value for either Library fields or Stream Tech File field in the Stream In form.

Argument

None

Value Returned

nil

Example

In this example, you need to translate Stream File, in.gds to library, lib1. To do this, you need to execute the following functions:
xstInSetField("strmFile" "in.gds")
xstInSetField("library" "lib1")
xstInDoTranslate()

xstInGetVMLibs

xstInGetVMLibs(
)
=> l_vmLibList / nil

Description

Returns the list of virtual memory libraries created by XStream In. Only the primary libraries created by XStream In are returned. The additional libraries that are created if the number of cellviews is more than the value specified in the Maximum Cells in Target Library field are not returned by this function.

Argument

None

Value Returned

l_vmLibList

The list of virtual libraries created by XStream In.

nil

Returns nil if the function is not successful.

Example

If XStream In is done in virtual memory mode and “vmLib” is the library name, then this library is created in virtual memory. In this case, xstGetVMLibs() returns “vmLib”.

xstInGetVMLibs()
=> ("vmLib")

xstInSaveVMLib

xstInSaveVMLib(
t_vmLibName[ t_path ]
)
=> t / nil

Description

Saves the specified virtual memory library, t_vmLibName, to either the specified directory, t_path, or the current working directory, if t_path is not specified. Multiple libraries are created in a single translation using XStream In if the number of cellviews is more than the value specified in the Maximum Cells in Target Library field. All the libraries created during a single XStream In translation are also saved.

When this function is called, the Virtuoso session is blocked. All the layout editor windows corresponding to the virtual memory library cellviews are also closed. The design management (DM) preferences are also not obeyed.

Argument

t_vmLibName

The virtual library created by XStream In.

t_path

The path where the virtual library is saved.

Value Returned

t

The operation is successful.

nil

The operation is not successful.

Example

If XStream In is done in virtual memory mode and “vmLib” is the library name, then this library is created in the virtual memory.

Now, xstSaveVMLib("vmLib" "/home/user") saves the library, “vmLib” to the directory, “/home/user”. If the operation is successful, this function returns “t”.

xstSaveVMLib("vmLib" "/home/user")
    => t

Callback Functions

xstInOnCancelCB

xstInOnCancelCB(
t_mode
S_callbackFunction
)
=> t / nil

Description

Registers or unregisters a user-defined callback function when you click the Cancel button on the XStream In form.

Arguments

t_mode

Specifies mode to register or unregister the user-defined callback function.

Valid values:

  • "r" Registers the user-defined callback function.
  • "d" Unregisters an already registered user-defined callback function.

S_callbackFunction

  

Name or function symbol of a user-defined callback function.

Value Returned

t

Function is successfully registered or unregistered.

nil

Function is not registered or unregistered.

Examples

Register the user-defined callback function myxstInOnCancel when the Cancel button is clicked on the XStream In form.

procedure( myxstInOnCancel()
                print("Cancel button clicked")
)
xstInOnCancelCB("r" 'myxstInOnCancel)

or

xstInOnCancelCB("r" "myxstInOnCancel")

Unregister the user-defined callback function myxstInOnCancel when the Cancel button is clicked on the XStream In form.

procedure( myxstInOnCancel()
                print("Cancel button clicked")
)
xstInOnCancelCB ("d" 'myxstInOnCancel)

or

xstInOnCancelCB("d" "myxstInOnCancel")

xstInOnCompletionCB

xstInOnCompletionCB(
t_mode
S_callbackFunction
)
=> t / nil

Description

Registers or unregisters a user-defined callback function when the XStream In translation is complete.

Arguments

t_mode

Specifies mode to register or unregister the user-defined callback function.

Valid values:

  • "r" Registers the user-defined callback function.
  • "d" Unregisters an already registered user-defined callback function.

S_callbackFunction

  

Name or function symbol of a user-defined callback function.

Value Returned

t

Function is successfully registered or unregistered.

nil

Function is not registered or unregistered.

Examples

Register the user-defined callback function myxstInOnCompletion when the XStream In translation is complete.

procedure( myxstInOnCompletion()
                print("Translation completed with status %L")
)
xstInOnCompletionCB("r" 'myxstInOnCompletion)

or

xstInOnCompletionCB("r" "myxstInOnCompletion")

Unregister the user-defined callback function myxstInOnCompletion when the XStream In translation is complete.

procedure( myxstInOnCompletion()
                print("Cancel button clicked")
)
xstInOnCompletionCB ("d" 'myxstInOnCompletion)

or

xstInOnCompletionCB("d" "myxstInOnCompletion")

xstInOnTranslateCB

xstInOnTranslateCB(
t_mode
S_callbackFunction
)
=> t / nil

Description

Registers or unregisters a user-defined callback function when you click the Apply or Translate button on the XStream In form

Arguments

t_mode

Specifies mode to register or unregister the user-defined callback function.

Valid values:

  • "r" Registers the user-defined callback function.
  • "d" Unregisters an already registered user-defined callback function.

S_callbackFunction

  

Name or function symbol of a user-defined callback function.

Value Returned

t

Function is successfully registered or unregistered.

nil

Function is not registered or unregistered.

Examples

Register the user-defined callback function myxstInOnTranslate when the XStream In translation is complete.

procedure( myxstInOnTranslate()
                print("Translate button clicked")
)
xstInOnTranslateCB("r" 'myxstInOnTranslate)

or

xstInOnTranslateCB("r" "myxstInOnTranslate")

Unregister the user-defined callback function myxstInOnTranslate when the XStream In translation is complete.

procedure( myxstInOnTranslate()
                print("Translate button clicked")
)
xstInOnTranslateCB ("d" 'myxstInOnTranslate)

or

xstInOnTranslateCB("d" "myxstInOnTranslate")

xstOutOnCancelCB

xstOutOnCancelCB(
t_mode
S_callbackFunction
)
=> t / nil

Description

Registers or unregisters a user-defined callback function when you click the Cancel button on the XStream Out form.

Arguments

t_mode

Specifies mode to register or unregister the user-defined callback function.

Valid values:

  • "r" Registers the user-defined callback function.
  • "d" Unregisters an already registered user-defined callback function.

S_callbackFunction

  

Name or function symbol of a user-defined callback function.

Value Returned

t

Function is successfully registered or unregistered.

nil

Function is not registered or unregistered.

Examples

Register the user-defined callback function myxstOutOnCancel when you click the Cancel button on the XStream Out form.

procedure( myxstOutOnCancel()
                print("Cancel button clicked")
)
xstOutOnCancelCB("r" 'myxstOutOnCancel)

or

xstOutOnCancelCB("r" "myxstOutOnCancel")

Unregister the user-defined callback function myxstOutOnCancel when you click the Cancel button on the XStream Out form.

procedure( myxstInOnTranslate()
                print("Cancel button clicked")
)
xstOutOnCancelCB("d" 'myxstOutOnCancel)

or

xstOutOnCancelCB("d" "myxstOutOnCancel")

xstOutOnCompletionCB

xstOutOnCompletionCB(
t_mode
S_callbackFunction
)
=> t / nil

Description

Registers or unregisters a user-defined callback function when the XStream Out translation is complete.

Arguments

t_mode

Specifies mode to register or unregister the user-defined callback function.

Valid values:

  • "r" Registers the user-defined callback function.
  • "d" Unregisters an already registered user-defined callback function.

S_callbackFunction

  

Name or function symbol of a user-defined callback function.

Value Returned

t

Function is successfully registered or unregistered.

nil

Function is not registered or unregistered.

Examples

Register the user-defined callback function myxstOutOnCompletion when the XStream Out translation is complete.

procedure( myxstOutOnCompletion()
                print("Cancel button clicked")
)
xstOutOnCompletionCB("r" 'myxstOutOnCompletion)

or

xstOutOnCompletionCB("r" "myxstOutOnCompletion")

Unregister the user-defined callback function myxstOutOnCompletion when the XStream Out translation is complete.

procedure( myxstInOnCompletion()
                print("Translation completed with status %L")
)
xstOutOnCompletionCB ("d" 'myxstOutOnCompletion)

or

xstOutOnCompletionCB("d" "myxstOutOnCompletion")

xstOutOnTranslateCB

xstOutOnTranslateCB(
t_mode
S_callbackFunction
)
=> t / nil

Description

Registers or unregisters a user-defined callback function when you click the Apply or Translate button on the XStream Out form

Arguments

t_mode

Specifies mode to register or unregister the user-defined callback function.

Valid values:

  • "r" Registers the user-defined callback function.
  • "d" Unregisters an already registered user-defined callback function.

S_callbackFunction

  

Name or function symbol of a user-defined callback function.

Value Returned

t

Function is successfully registered or unregistered.

nil

Function is not registered or unregistered.

Examples

Register the user-defined callback function myxstOutOnTranslate when the XStream Out translation is complete.

procedure( myxstOutOnTranslate()
                print("Cancel button clicked")
)
xstOutOnTranslateCB("r" 'myxstOutOnTranslate)

or

xstOutOnTranslateCB("r" "myxstOutOnTranslate")

Unregister the user-defined callback function myxstOutOnTranslate when the XStream Out translation is complete.

procedure( myxstOutOnTranslate()
                print("Cancel button clicked")
)
xstOutOnTranslateCB ("d" 'myxstOutOnTranslate)

or

xstOutOnTranslateCB("d" "myxstOutOnTranslate")


Return to top
 ⠀
X