◄Up► ◄Contents► ◄Index► ◄Back► ─────PWB Extensions───────────────────────────────────────────────────────── All extension functions exported to PWB must have the same prototype. The first argument (CMDDATA) should be ignored; it is present for historical reasons. The second argument (ARG *pArg) is a pointer to an argument structure. The third argument (flagType fMeta) is a Boolean value that specifies if the Meta state is turned on or off. The ARG structure contains data about the arguments the user gave when executing the function. It is defined in EXT.H as follows: struct PWBargType { int argType; //Discriminant union { struct noargType noarg; //No arguments struct textargType textarg; //Text argument struct nullargType nullarg; //Arg count only struct lineargType linearg; //Line struct streamargType streamarg; //Stream struct boxargType boxarg; //Box } arg; PWND pwnd; PINS pins; PFILE pfile; }; typedef struct PWBargType ARG; The argType member specifies which argument is active in the arg union. The possible argType values for each function are defined by the argType member of the cmdDesc structure in the function's cmdTable entry. Incompatible arguments are intercepted and refused by PWB. PWB does not call the extension function when an incompatibale argument is given. See: ◄Extension Command Table► ◄Extension Argument Types► The following arg structures can be passed to extension functions: argType Description noarg No argument or selection nullarg PWB Arg function executed, but no selection made and no text typed in the Text Argument dialog box. textarg Text argument linearg Lines selected streamarg Stream selected boxarg Box selected See: ◄Extension Argument Structure► -♦-