MIAMEX 123: Get/set SBR= flags

Rewritten May 2013

xcall MIAMEX, MX_SBRFLG, opcode, flags1 {flags2}

MX_SBRFLG is used to programmatically retrieve and/or set A-Shell system options that are normally set with the SBR= statement in the miame.ini file.  See the system parameter SBR for more detailed descriptions of the various flags. An example is provided after the tables.

Parameters

opcode  (Num)  [in]

0 (MXOP_GET) to retrieve the current flags, 1 (MXOP_SET) to set them

flags1  (B,4 of F)  [in/out]

Symbol

Value

Meaning

SBRF_BSMID5

&h00000001

Affects sequential serach in SERCH.

SBRF_INFLD143

&h00000002

Affects the operation of J justified types in INFLD.SBR.

SBRF_INFLDPS

&h00000004

Impacts the operation of types "P" and "S" in INFLD.

SBRF_INFLDB3

&h00000008

Causes INFLD to add blank spaces for comma-formatted fields.

SBRF_INFLDLDROP

&h00000010

Special handling for type "L" operation in INFLD.

SBRF_MXLOCK

&h00000020

Forces XLOCK to conform exactly to standard documentation.

SBRF_MESAGRTN

&h00000040

Changes behavior of MESAG.

SBRF_MALLOCSORT

&h00000100

Affects the memory allocation strategy of BASORT.

SBRF_COMMONNDR

&h00000200

Non-destructive read in COMMON.

SBRF_PRTCHK1

&h00000400

Causes PRTCHK to return 1 if printer is found, 0 if it is not.

SBRF_PRINTNOFF

&h00000800

Eliminates formfeed character in PRINT.

SBRF_XPPNOCT

&h00001000

Affects how XPPN displays PPN value.

SBRF_AMOSJOB1

&h00002000

Causes JOBNAM to return the name of the parent job.

SBRF_TRIMCTL

&h00004000

Causes TRIM to remove leading and trailing control characters.

SBRF_INFLDR

&h00008000

Causes INFLD to not apply right-justification to the returned field.

SBRF_INFLDEDIT

&h00010000

Provide support for a variation of INVUE.

SBRF_AXLOCK

&h00020000

Causes A-Shell to exactly duplicate the behavior of XLOCK under AMOS.

SBRF_LSTLINSTRIP

&h00040000

Strips comments from command line before returning them to LSTLIN.

SBRF_PGRW_TTI

&h00080000

Affects how INFLD type codes "$" and "H" are handled.

SBRF_BOX_MINATTR

&h00100000

Minimizes the use of attributes (particularly reverse video) used with certain box drawing operations (particularly INMEMO).

SBRF_INFLD_V1

&h00400000

Eliminates the need to specify the V parameter to INFLD.

SBRF_EZPRTX

&h00800000

Causes EZTYP to use EZPRTX.

SBRF_FLOCKD

&h01000000

Disables validation of the file channel and record number parameters in FLOCK.SBR

SBRF_FLOCKL

&h02000000

Backs up FLOCK exclusive record locks with LOKSER locks (provided that LOKSER is enabled). May be useful when different applications (one using FLOCK, the other LOKSER) share files.

SBRF_INFLD_KEEPALIVE

&h04000000

Sends a few bytes every 15 seconds while waiting for input.

SBRF_PCKLST_GUI

&h08000000

Use XTREE (GUI) in place of PCKLST (text)

SBRF_INFLDCBRJ

&h10000000

Right-justifies text label.

SBRF_SUBMIT2

&h20000000

Forces a new process to be the grandchild of the current process.

SBRF_NO_MMAP

&h40000000

Disables memory mapping in certain ERS proprietary subroutines.

SBRF_XMASCB_OPEN

&h80000000

 

Definition file: ashell.def

Hex-Decimal Values

 

flags2  (B,4 of F)  [in/out]

Note that for opcode 1, if flags2 not specified, no changes will be made to those flags; in other words, the absence of the flags2 parameter is not equivalent to a parameter containing zero.

Symbol

Value

Meaning

SBRF2_GUISELPOS

&h00000001

INFLD GUI caret at start

SBRF2_AUTO_TABX

&h00000002

auto add MBF2_TABX to MBF_TAB

SBRF2_PRINT_TIME

&h00000004

add time to PRINT.SBR hdr

SBRF2_PRINT_JOBUSN

&h00000008

add user to PRINT.SBR hdr

SBRF2_AUTO_DLGMAX

&h00000010

auto max dlgs > desktop

SBRF2_INFLD_PRINTS

&h00000020

INFLD ^P : File>Printscreen

SBRF2_XTREE_EXPCSV

&h00000040

XTREE add Export CSV to mnu

SBRF2_XTREE_EXPTSV

&h00000080

XTREE add Export TSV to mnu

SBRF2_XTREE_EXPOPEN

&h00000100

XTREE open after export

SBRF2_XTREE_PRINT

&h00000200

XTREE add print to mnu

SBRF2_XTREE_SRCH

&h00000400

XTREE add search to mnu

Definition file: ashell.def

 

Example

To retrieve the current SBR= flags and then set or clear the SUBMIT2 flag:

map1 sbrflags1,b,4

map1 sbrflags2,b,4

 

    xcall MIAMEX, MX_SBRFLG, MXOP_GET, sbrflags1, sbrflags2   ! retrieve

    sbrflags1 = sbrflags1 or SBRF_SUBMIT2                     ! set SUBMIT2

or

    sbrflags1 = sbrflags1 and not SBRF_SUBMIT2                ! clear SUBMIT2

    xcall MIAMEX, MX_SBRFLG, MXOP_SET, sbrflags1, sbrflags2   ! set

 

Comments

MX_SBRFLG normally only operates relative to the server.  In the ATE environment, use the AG_SBRFLAGS command to retrieve/set the client flags.