Loading...
Select Version
&pagelevel(4)&pagelevel
Definitionen und Makros für den Kontrollblock EDTPARG
(globale Einstellungen):
/* ********************************************************************* ** 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