home *** CD-ROM | disk | FTP | other *** search
- /*
- copyright (c) 1991 -- kyle a. york
- use / copy / modify at will -- see CRON.DOC for details
- this is from Ralph Brown's interrupt list
- */
-
- #define uchar unsigned char
- #define byte uchar
- #define word unsigned int
-
- /*
- Format of .PIF/.DVP file:
- */
- typedef struct {
- word rsvd; /* reserved. always 0 */
- char title[30]; /* blank-padded program title */
- word maxmem; /* maximum memory to allocate */
- word minmem; /* minimum memory to allocate */
- char path[64]; /* full path to program */
- char drive; /* default drive */
- char defaultdir[64]; /* default directory */
- char parameters[64]; /* program parameters */
- byte init_screen_mode; /* initial screen mode 0-7 */
- byte text_page_ct; /* # of text pages */
- byte int_start; /* 1st int # to save */
- byte int_end; /* last int # to save */
- byte maxht; /* max # rows */
- byte maxwd; /* max # columns */
- byte row_start; /* initial row for window */
- byte col_start; /* initial col for window */
- word sysmem; /* # of K of system memory */
- char sharedprog[64]; /* shared program name */
- char shareddata[64]; /* shared program data file */
- byte flags1; /* bit def
- 7 writes text directly to screen
- 6 runs in foreground only
- 5 uses math coprocessor
- 4 accesses system keyboard buffer directly
- 3-1 reserved (0)
- 0 swappable */
- byte flags2; /* bit def
- 6 uses cmd-line parameters
- 5 swaps interrupt vectors */
- /* PIF file ends here, DVP begins */
- char openkeys[2]; /* keys used on open menu */
- word scriptbufsize;
- word keytestgive; /* automatically give-up CPU after this many
- tests for keyboard input in one clock tick
- default = 0 (never) */
- byte usesowncolors; /* 0 = no, else yes */
- byte apswappable; /* 0 = no, else yes */
- byte rsvd1[3]; /* reserved. should be 0 */
- byte autocloseonexit; /* 0 = no, else yes */
- byte floppyreqd; /* 0 = no, else yes */
- /* ---information unique to DESQview 2.0+--- */
- byte version; /* 0=1.2, 1=2.0, 2=2.2 */
- byte rsvd2; /* reserved. should be 0 */
- byte initrowsphysical; /* # of rows in physical window */
- byte initcolsphysical; /* # of columns in physical window */
- word maxexpanded; /* max amount of expanded memory allowed */
- byte flags3; /*
- bit 7: automatically assign window position
- bit 5: maximum memory value has been specified
- bit 4: disallow "Close" command
- bit 3: foreground-only when doing graphics
- bit 2: don't virtualize
- bit 1: ??? set by DV 2.31 when "Runs in Background" = "D" */
- byte keyconflict; /* kbd conflict level */
- byte gfxpages; /* # of graphics pages used */
- word extrasysmem;
- byte initscreenmode; /* (FFh = default) (overrides offset E5h) */
- /* ---information unique to DESQview 2.2+--- */
- byte serialportsused; /* ff=all */
- byte flags4; /*
- bit 7: automatically close application on exit if .COM or .EXE
- specified
- bit 6: swappable if not using serial ports
- bit 5: start program with window hidden (v2.26+)
- bit 4: start program in background (v2.26+)
- bit 3: virtualize text
- bit 2: virtualize graphics
- bit 1: share CPU when foreground
- bit 0: share EGA when foreground and zoomed */
- byte protectionlevel;
- byte rsvd4[19];
- } DVPtype;