Loading...
Select Version
&pagelevel(4)&pagelevel
Definitions and macros for the control block EDTPARG (global parameter settings):
/*
*********************************************************************
** common typedefs
*********************************************************************
*/
#ifndef IEDT_TYPES
typedef unsigned char iedbyte;
typedef unsigned short iedshort;
typedef unsigned long iedlong;
typedef unsigned short iedutf16;
#define IEDT_TYPES
#endif
/*
*********************************************************************
** IEDPARG parameter block V16
*********************************************************************
*/
typedef struct IEDPARG_v16_mdl {
/* interface identifier structure */
#pragma aligned 4
iedshort unit; /* function unit number : 66 */
iedbyte function; /* function number : 0 */
iedbyte version; /* interface version : 1 */
/* returncode unused, will be returned in control block IEDGLCB */
iedlong rc_nbr;
/* output fields */
iedbyte EDT_mode; /* edt modus */
iedbyte command_symbol; /* actual '@' */
iedshort size_window1; /* size of window 1 */
iedshort size_window2; /* size of window 2 */
iedbyte file_in_window1[8]; /* workfile in window 1 */
iedbyte file_in_window2[8]; /* workfile in window 2 */
iedbyte ccs_name[8]; /* global coded character set */
} iedparg_v16;
/*
*********************************************************************
** IEDPARG parameter block V17
*********************************************************************
*/
typedef struct IEDPARG_v17_mdl {
/* interface identifier structure */
#pragma aligned 4
iedshort unit; /* function unit number : 66 */
iedbyte function; /* function number : 0 */
iedbyte version; /* interface version : 2 */
/* returncode unused, will be returned in control block IEDGLCB */
iedlong rc_nbr;
/* output fields */
iedbyte EDT_mode; /* edt modus */
iedbyte command_symbol; /* actual '@' */
iedshort size_window1; /* size of window 1 */
iedshort size_window2; /* size of window 2 */
iedbyte file_in_window1[8]; /* workfile in window 1 */
iedbyte file_in_window2[8]; /* workfile in window 2 */
/* reserve */
iedbyte reserve[10];
} iedparg_v17;
/*
*********************************************************************
** IEDPARG parameter block default
*********************************************************************
*/
#ifdef EDT_V17
typedef iedparg_v17 iedparg;
#define IEDPARG_mdl IEDPARG_v17_mdl
#else
typedef iedparg_v16 iedparg;
#define IEDPARG_mdl IEDPARG_v16_mdl
#endif
/*
*********************************************************************
** special values in EDT_mode
*********************************************************************
*/
#define IEDPARGmode_fullscreen 0xC6 /* 'F' full screen mode */
#define IEDPARGmode_line 0xD3 /* 'L' line mode */
#define IEDPARGmode_control 0xC3 /* 'C' user control */
/*
*********************************************************************
** macros for initialization, access, and modification
*********************************************************************
*/
#define IEDPARG_UNIT_66 66
#define IEDPARG_FUNCT_0 0
#define IEDPARG_VERS_1 1
#define IEDPARG_VERS_2 2
#define IEDPARG_INIT_V16 \
{ 66,0,1,0,0,0,0,0," "," "," " }
#define IEDPARG_INIT_V17 \
{ 66,0,2,0,0,0,0,0," "," " }
#ifdef EDT_V17
#define IEDPARG_INIT IEDPARG_INIT_V17
#define IEDPARG_VERS_STD IEDPARG_VERS_2
#else
#define IEDPARG_INIT IEDPARG_INIT_V16
#define IEDPARG_VERS_STD IEDPARG_VERS_1
#endif
#define IEDPARG_MOD_VERS(p,v) (p).version = v
#define IEDPARG_MOD_IFID(p,u,f,v) \
(p).unit = u, (p).function = f, (p).version = v