home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / IDL / WPTYPES.IDL < prev   
Text File  |  1995-08-30  |  22KB  |  562 lines

  1. // ------------------------------------------------------------------
  2. // File:  wptypes.idl
  3. //
  4. // This file contains the IDL type definitions for the foreign types
  5. // defined in the WPSH IDL files.
  6. //
  7. // ------------------------------------------------------------------
  8. #ifndef WPTYPES_IDL                                                            // EEO:
  9. #define WPTYPES_IDL                                                            // EEO:
  10. interface WPObject;
  11. interface WPFolder;
  12. interface M_WPObject;
  13. #define VOID           void
  14. #define LONG           long
  15. #define CHAR           char
  16. typedef unsigned long  ULONG;
  17. typedef ULONG         *PULONG;
  18. typedef ULONG          HWND;
  19. typedef octet          BYTE;
  20. typedef octet         *PBYTE;
  21. typedef string         PSZ;
  22. typedef long           BOOL32;
  23. typedef int            BOOL;
  24. typedef unsigned short USHORT;
  25. typedef USHORT        *PUSHORT;
  26. typedef octet          UCHAR;
  27. typedef octet         *PUCHAR;
  28. typedef PSZ           *PDEVOPENDATA;
  29. typedef ULONG          LHANDLE;
  30. typedef ULONG          HPOINTER;
  31. typedef ULONG          HBITMAP;
  32. typedef LHANDLE        HSTR;
  33. typedef LHANDLE        HMODULE;
  34. typedef LHANDLE        HFS;
  35. typedef LHANDLE        HDC;
  36. typedef LHANDLE        HAPP;
  37. typedef LHANDLE        HPS;
  38. typedef LHANDLE        HOBJECT;
  39. typedef void          *PVOID;
  40. typedef void          *MRESULT;
  41. const long CCHMAXPATH       = 260;
  42. const long CCHMAXPATHCOMP   = 256;
  43. const long MAX_ASSOC_ITEMS  = 12;
  44. const long FACESIZE         = 32;
  45. typedef MRESULT *FNWP;
  46. typedef FNWP *PFNWP;
  47. typedef BOOL *FNOWNDRW;
  48. typedef FNOWNDRW *PFNOWNDRW;
  49. typedef long *FNCOMPARE;
  50. typedef FNCOMPARE *PFNCOMPARE;
  51. struct USEITEM
  52. {
  53.     ULONG  type;                     /* Type of this Item */
  54.     USEITEM *pNext;                  /* Next item in use list */
  55. };
  56. typedef USEITEM *PUSEITEM;
  57. struct POINTL
  58. {
  59.     long  x;
  60.     long  y;
  61. } ;
  62. typedef POINTL *PPOINTL;
  63. struct MINIRECORDCORE                /* minirec */
  64. {
  65.    ULONG       cb;
  66.    ULONG       flRecordAttr;         /* record attributes             */
  67.    POINTL      ptlIcon;              /* Position of CV_ICON item      */
  68.    MINIRECORDCORE *preccNextRecord;  /*ptr to next record */
  69.    PSZ         pszIcon;              /* Text for CV_ICON view         */
  70.    HPOINTER    hptrIcon;             /* Icon to display for ~CV_MINI  */
  71. } ;
  72. typedef MINIRECORDCORE *PMINIRECORDCORE;
  73. struct TREEITEMDESC                  /* treend */
  74. {
  75.    HBITMAP       hbmExpanded;
  76.    HBITMAP       hbmCollapsed;
  77.    HPOINTER      hptrExpanded;
  78.    HPOINTER      hptrCollapsed;
  79. } ;
  80. typedef TREEITEMDESC *PTREEITEMDESC;
  81. struct RECORDCORE                    /* recc */
  82. {
  83.    ULONG       cb;
  84.    ULONG       flRecordAttr;         /* record attributes             */
  85.    POINTL      ptlIcon;              /* Position of CV_ICON item      */
  86.    RECORDCORE *preccNextRecord;      /* ptr to next record  */
  87.    PSZ         pszIcon;              /* Text for CV_ICON view         */
  88.    HPOINTER    hptrIcon;             /* Icon to display for ~CV_MINI  */
  89.    HPOINTER    hptrMiniIcon;         /* Icon to display for CV_MINI   */
  90.    HBITMAP     hbmBitmap;            /* Bitmap to display for ~CV_MINI*/
  91.    HBITMAP     hbmMiniBitmap;        /* Bitmap to display for CV_MINI */
  92.    PTREEITEMDESC pTreeItemDesc;      /* Icons for the tree view       */
  93.    PSZ         pszText;              /* Text for CV_TEXT view         */
  94.    PSZ         pszName;              /* Text for CV_NAME view         */
  95.    PSZ         pszTree;              /* Text for CV_TREE view         */
  96. };
  97. typedef RECORDCORE  *PRECORDCORE;
  98. struct RECORDINSERT                  /* recins */
  99. {
  100.    ULONG       cb;
  101.    PRECORDCORE pRecordOrder;
  102.    PRECORDCORE pRecordParent;
  103.    ULONG       fInvalidateRecord;
  104.    ULONG       zOrder;
  105.    ULONG       cRecordsInsert;
  106. };
  107. typedef RECORDINSERT  *PRECORDINSERT;
  108. struct DRAGINFO
  109. {
  110.    ULONG    cbDraginfo;              /* Size of DRAGINFO and DRAGITEMs*/
  111.    USHORT   cbDragitem;              /* size of DRAGITEM              */
  112.    USHORT   usOperation;             /* current drag operation        */
  113.    HWND     hwndSource;              /* window handle of source       */
  114.    short    xDrop;                   /* x coordinate of drop position */
  115.    short    yDrop;                   /* y coordinate of drop position */
  116.    USHORT   cditem;                  /* count of DRAGITEMs            */
  117.    USHORT   usReserved;              /* reserved for future use       */
  118. };
  119. typedef DRAGINFO  *PDRAGINFO;
  120. struct DRAGITEM                      /* ditem */
  121. {
  122.    HWND    hwndItem;                 /* conversation partner          */
  123.    ULONG   ulItemID;                 /* identifies item being dragged */
  124.    HSTR    hstrType;                 /* type of item                  */
  125.    HSTR    hstrRMF;                  /* rendering mechanism and format*/
  126.    HSTR    hstrContainerName;        /* name of source container      */
  127.    HSTR    hstrSourceName;           /* name of item at source        */
  128.    HSTR    hstrTargetName;           /* suggested name of item at dest*/
  129.    short   cxOffset;                 /* x offset of the origin of the */
  130.    /*                                     image from the mouse hotspot*/
  131.    short   cyOffset;                 /* y offset of the origin of the */
  132.    /*                                     image from the mouse hotspot*/
  133.    USHORT  fsControl;                /* source item control flags     */
  134.    USHORT  fsSupportedOps;           /* ops supported by source       */
  135. } ;
  136. typedef DRAGITEM  *PDRAGITEM;
  137. struct DRAGTRANSFER                  /* dxfer */
  138. {
  139.    ULONG      cb;                    /* size of control block         */
  140.    HWND       hwndClient;            /* handle of target              */
  141.    PDRAGITEM  pditem;                /* DRAGITEM being transferred    */
  142.    HSTR       hstrSelectedRMF;       /* rendering mech & fmt of choice*/
  143.    HSTR       hstrRenderToName;      /* name source will use          */
  144.    ULONG      ulTargetInfo;          /* reserved for target's use     */
  145.    USHORT     usOperation;           /* operation being performed     */
  146.    USHORT     fsReply;               /* reply flags                   */
  147. } ;
  148. typedef DRAGTRANSFER  *PDRAGTRANSFER;
  149. struct PAGEINFO
  150. {
  151.    ULONG   cb;
  152.    HWND    hwndPage;
  153.    PFNWP   pfnwp;
  154.    ULONG   resid;
  155.    PVOID   pCreateParams;
  156.    USHORT  dlgid;
  157.    USHORT  usPageStyleFlags;
  158.    USHORT  usPageInsertFlags;
  159.    USHORT  usSettingsFlags;
  160.    PSZ     pszName;
  161.    USHORT  idDefaultHelpPanel;
  162.    USHORT  usReserved2;
  163.    PSZ     pszHelpLibraryName;
  164.    PUSHORT pHelpSubtable;   /* PHELPSUBTABLE when PMHELP.H is included*/
  165.    HMODULE hmodHelpSubtable;
  166.    ULONG   ulPageInsertId;
  167. };
  168. typedef PAGEINFO  *PPAGEINFO;
  169. struct PRINTDEST
  170. {
  171.    ULONG        cb;
  172.    long         lType;
  173.    PSZ          pszToken;
  174.    long         lCount;
  175.    PDEVOPENDATA pdopData;
  176.    ULONG        fl;
  177.    PSZ          pszPrinter;
  178. } ;
  179. typedef PRINTDEST  *PPRINTDEST;
  180. struct ICONINFO
  181. {
  182.    ULONG   cb;                  /* size of ICONINFO structure */
  183.    ULONG   fFormat;
  184.    PSZ     pszFileName;         /* use when fFormat = ICON_FILE */
  185.    HMODULE hmod;                /* use when fFormat = ICON_RESOURCE */
  186.    ULONG   resid;               /* use when fFormat = ICON_RESOURCE */
  187.    ULONG   cbIconData;          /* use when fFormat = ICON_DATA     */
  188.    PVOID   pIconData;           /* use when fFormat = ICON_DATA     */
  189. } ;
  190. typedef ICONINFO  *PICONINFO;
  191. struct TASKREC
  192. {
  193.    TASKREC         *next;     /* next in the list of current tasks   */
  194.    ULONG            useCount; /* can be referenced by multiple object*/
  195.    PVOID            pStdDlg;  /* ptr to standard WP task dialog      */
  196.    WPFolder        *folder;   /* intended folder for the object      */
  197.    long             xOrigin;  /* intended position for the object    */
  198.    long             yOrigin;  /* intended position for the object    */
  199.    PSZ              pszTitle; /* intended name for the object        */
  200.    ULONG            cbTitle;  /* length of the name buffer           */
  201.    PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */
  202.    BOOL             fKeepAssociations;
  203.    PVOID            pReserved;    /* reserved - equal null           */
  204. } ;
  205. typedef TASKREC *PTASKREC;
  206. struct WPSRCLASSBLOCK
  207. {
  208.   short   ClassNameLength;       /* Length of class name, including the
  209.                                   * .. null terminator. This must be a
  210.                                   * .. SHORT and must be at the beginning
  211.                                   * .. of the structure.
  212.                                   */
  213.   USHORT  IVarLength;            /* Length of instance variable
  214.                                   * .. information, including the two-
  215.                                   * .. byte null terminator
  216.                                   */
  217. };
  218. struct OBJDATA
  219. {
  220.    WPSRCLASSBLOCK       *CurrentClass;
  221.    WPSRCLASSBLOCK       *First;
  222.    PUCHAR                NextData;
  223.    USHORT                Length;
  224. };
  225. typedef OBJDATA *POBJDATA;
  226. typedef ULONG HMTX;
  227. struct VIEWITEM                  /* USAGE_OPENVIEW struct */
  228. {
  229.    ULONG        view;            /* Object view that this represents */
  230.    LHANDLE      handle;          /* Open handle */
  231.    ULONG        ulViewState;     /* View State flags */
  232.    HWND         hwndCnr;         /* System use only (window animation) */
  233.    PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  234. } ;
  235. typedef VIEWITEM *PVIEWITEM;
  236. typedef long  *PLONG;
  237. struct CLASSDETAILS              /* Class Details struct */
  238. {
  239.    PSZ          pszAttribute;    /* Translatable string for a class attribute*/
  240.    PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/
  241.    CLASSDETAILS *pNext;          /* Next item in class details list */
  242. } ;
  243. typedef CLASSDETAILS *PCLASSDETAILS;
  244. struct CLASSFIELDINFO               /*!INC*/
  245. {
  246.    /* Details field attributes
  247.     */
  248.    ULONG      cb;                   /* size of CLASSFIELDINFO struct  */
  249.    ULONG      flData;               /* attributes of field's data     */
  250.    ULONG      flTitle;              /* attributes of field's title    */
  251.    PVOID      pTitleData;           /* title data (default is string) */
  252.                                     /* If CFT_BITMAP, must be HBITMAP */
  253.    ULONG      ulReserved;           /* Reserved                       */
  254.    PVOID      pUserData;            /* pointer to user data           */
  255.    CLASSFIELDINFO  *pNextFieldInfo; /* pointer to next linked         */
  256.                                           /* CLASSFIELDINFO structure */
  257.    ULONG      cxWidth;              /* width of field in pels         */
  258.    ULONG      offFieldData;         /* offset from beginning of       */
  259.                                     /*   this class's data for this   */
  260.                                     /*   field. (first field is 0).   */
  261.    ULONG      ulLenFieldData;       /* width of data in bytes.        */
  262.                                     /*   (4 for a pointer).           */
  263.    PFNOWNDRW  pfnOwnerDraw;         /* Ownerdraw procedure for detail */
  264.                                     /* column. Can be NULL except if  */
  265.                                     /* ownerdraw is being used.       */
  266.    /* Include/Sort parameters
  267.     */
  268.    ULONG      flCompare;            /* Flags: for example, use the    */
  269.                                     /*   COMPARE_SUPPORTED flag if    */
  270.                                     /*   your field can be compared   */
  271.    PFNCOMPARE pfnCompare;           /* Comparison function for this   */
  272.                                     /*   field. Can be NULL unless    */
  273.                                     /*   ownerdraw is used.           */
  274.    ULONG      DefaultComparison;    /* This is the default compare    */
  275.                                     /*   operator in the include      */
  276.                                     /*   page criteria dialog. (eg:   */
  277.                                     /*   CMP_LESS_OR_EQUAL)           */
  278.    ULONG      ulLenCompareValue;    /* Maximum length of the compare  */
  279.                                     /*   data. Can be NULL unless     */
  280.                                     /*   ownerdraw is used.           */
  281.    PVOID      pDefCompareValue;     /* The default value to be used   */
  282.                                     /*   for comparisons. Can be NULL */
  283.                                     /*   unless ownerdraw is used.    */
  284.    PVOID      pMinCompareValue;     /* The default value to be used   */
  285.                                     /*   for comparisons.Can be NULL  */
  286.                                     /*   unless ownerdraw is used.    */
  287.    PVOID      pMaxCompareValue;     /* The default value to be used   */
  288.                                     /*   for comparisons.Can be NULL  */
  289.                                     /*   unless ownerdraw is used.    */
  290.    PSZ        pszEditControlClass;  /* Window class to be used to edit*/
  291.                                     /*   the compare value. Can be    */
  292.                                     /*   NULL unless ownerdraw is used*/
  293.    PFNCOMPARE pfnSort;              /* Sort function for this @SM09511*/
  294.                                     /*   field. Can be NULL unless    */
  295.                                     /*   ownerdraw is used.           */
  296. } ;
  297. typedef CLASSFIELDINFO *PCLASSFIELDINFO;
  298. typedef ULONG       HFIND;
  299. typedef HFIND      *PHFIND;
  300. typedef WPObject   *OBJECT;
  301. typedef OBJECT     *POBJECT;
  302. typedef M_WPObject *CLASS;
  303. typedef CLASS      *PCLASS;
  304. struct SIZEL
  305. {          /* sizl */
  306.    long cx;
  307.    long cy;
  308. } ;
  309. typedef SIZEL  *PSIZEL;
  310. struct FEA2
  311. {
  312.     ULONG   oNextEntryOffset;                   /* new field */
  313.     BYTE    fEA;
  314.     BYTE    cbName;
  315.     USHORT  cbValue;
  316.     char    szName[1];                          /* new field */
  317. } ;
  318. typedef FEA2 *PFEA2;
  319. struct FEA2LIST
  320. {
  321.     ULONG   cbList;
  322.     FEA2    list[1];
  323. };
  324. typedef FEA2LIST *PFEA2LIST;
  325. /* *** NOTE ***
  326.  * The FDATE and FTIME structures are represented as bit fields and only
  327.  * utilize less than 32 bits for the entire structure. Therefore we have
  328.  * replaced the bit field structure definitions with a single unsigned
  329.  * short, which maps to the equivalent in memory.  This should ensure
  330.  * that DSOM passes the right stuff!
  331.  */
  332. struct FDATE
  333. {
  334.    USHORT date;
  335.    /*
  336.     * USHORT day   : 5;
  337.     * USHORT month : 4;
  338.     * USHORT year  : 7;
  339.     */
  340. } ;
  341. typedef FDATE   *PFDATE;
  342. struct FTIME
  343. {
  344.    USHORT time;
  345.    /*
  346.     * USHORT twosecs : 5;
  347.     * USHORT minutes : 6;
  348.     * USHORT hours   : 5;
  349.     */
  350. } ;
  351. typedef FTIME   *PFTIME;
  352. struct FILEFINDBUF4                            /* findbuf4 */
  353. {
  354.    ULONG   oNextEntryOffset;                   /* new field */
  355.    FDATE   fdateCreation;
  356.    FTIME   ftimeCreation;
  357.    FDATE   fdateLastAccess;
  358.    FTIME   ftimeLastAccess;
  359.    FDATE   fdateLastWrite;
  360.    FTIME   ftimeLastWrite;
  361.    ULONG   cbFile;
  362.    ULONG   cbFileAlloc;
  363.    ULONG   attrFile;                           /* widened field */
  364.    ULONG   cbList;
  365.    UCHAR   cchName;
  366.    char    achName[CCHMAXPATHCOMP];
  367. } ;
  368. typedef FILEFINDBUF4    *PFILEFINDBUF4;
  369. struct INFOCLASS
  370. {
  371.    ULONG    flags;
  372.    PSZ      pszClass;
  373.    ULONG    cbObjData;
  374.    POBJDATA pObjData;
  375. };
  376. typedef INFOCLASS * PINFOCLASS;
  377. struct CDATE                            /* cdate */
  378. {
  379.    UCHAR   day;                         /* current day               */
  380.    UCHAR   month;                       /* current month             */
  381.    USHORT  year;                        /* current year              */
  382. } ;
  383. typedef CDATE *PCDATE;
  384. struct CTIME                            /* ctime */
  385. {
  386.    UCHAR   hours;                       /* current hour              */
  387.    UCHAR   minutes;                     /* current minute            */
  388.    UCHAR   seconds;                     /* current second            */
  389.    UCHAR   ucReserved;                  /* reserved                  */
  390. } ;
  391. typedef CTIME *PCTIME;
  392. struct FILEDETAILS
  393. {
  394.    PSZ      pszRealName;     /* Real name */
  395.    ULONG    ulSize;          /* Size of the file */
  396.    CDATE    cdateLastMod;    /* Last modification date */
  397.    CTIME    ctimeLastMod;    /* Last modification time */
  398.    CDATE    cdateLastAccess; /* Last access date */
  399.    CTIME    ctimeLastAccess; /* Last access time */
  400.    CDATE    cdateCreation;   /* Date of creation */
  401.    CTIME    ctimeCreation;   /* Time of creation */
  402.    ULONG    ulFlags;         /* File flags */
  403. } ;
  404. typedef FILEDETAILS * PFILEDETAILS;
  405. struct FILESYS_SEARCH_INFO
  406. {
  407.   USHORT Exclude;
  408.   USHORT MustHave;
  409.   BOOL   fIncludeLMD;
  410.   USHORT LMDyear;
  411.   USHORT LMDmonth;
  412.   USHORT LMDday;
  413.   short  LMDcriteria;
  414.   BOOL   fIncludeLMT;
  415.   USHORT LMThours;
  416.   USHORT LMTminutes;
  417.   USHORT LMTseconds;
  418.   short  LMTcriteria;
  419.   BOOL   fIncludeFDS;
  420.   ULONG  FDSsize;
  421.   short  FDScriteria;
  422.   BOOL   fIncludeFEAS;
  423.   ULONG  FEASsize;
  424.   short  FEAScriteria;
  425.   BOOL   fMustHaveNeedEA;
  426.   BOOL   fMustNotHaveNeedEA;
  427. };
  428. typedef FILESYS_SEARCH_INFO *PFILESYS_SEARCH_INFO;
  429. struct TRANSINFO
  430. {
  431.    TRANSINFO         *pNext;         /* Next structure */
  432.    WPObject           Object;        /* Object pointer  rcsom2 removed * */
  433.    ULONG              Handle;        /* Object handle (low word only) */
  434. } ;
  435. typedef TRANSINFO *PTRANSINFO;
  436. typedef LHANDLE HPROGRAM;       /* hprog */
  437. struct SWP    /* swp */
  438. {
  439.    ULONG   fl;
  440.    long    cy;
  441.    long    cx;
  442.    long    y;
  443.    long    x;
  444.    HWND    hwndInsertBehind;
  445.    HWND    hwnd;
  446.    ULONG   ulReserved1;
  447.    ULONG   ulReserved2;
  448. } ;
  449. typedef SWP *PSWP;
  450. typedef ULONG PROGCATEGORY;
  451. typedef PROGCATEGORY *PPROGCATEGORY;
  452. struct PROGTYPE
  453. {
  454.     PROGCATEGORY progc;
  455.     ULONG        fbVisible;
  456. } ;
  457. typedef PROGTYPE *PPROGTYPE;
  458. struct PROGDETAILS
  459. {
  460.       ULONG     Length;         /* set this to sizeof(PROGDETAILS)  */
  461.       PROGTYPE  progt;
  462.       PSZ       pszTitle;       /* any  of the pointers can be NULL  */
  463.       PSZ       pszExecutable;
  464.       PSZ       pszParameters;
  465.       PSZ       pszStartupDir;
  466.       PSZ       pszIcon;
  467.       PSZ       pszEnvironment; /* this is terminated by  /0/0      */
  468.       SWP       swpInitial;     /* this replaces XYWINSIZE          */
  469. } ;
  470. typedef  PROGDETAILS *PPROGDETAILS;
  471. struct ICONPOS
  472. {
  473.    POINTL  ptlIcon;                    /* Location */
  474.    char    szIdentity[1];              /* Object identity string */
  475. } ;
  476. typedef ICONPOS *PICONPOS;
  477. struct SEARCH_INFO {
  478.    M_WPObject *ClassToBeFound;
  479.    BOOL       fSkipExtendedSearchCriteria;
  480.    PVOID      pvoidExtendedCriteria;
  481. } ;
  482. typedef SEARCH_INFO *PSEARCH_INFO;
  483. typedef  ULONG    HEV;
  484. struct LINKITEM                  /* USAGE_LINK struct */
  485. {
  486.    WPObject    *LinkObj;         /* The link object */
  487. } ;
  488. typedef LINKITEM *PLINKITEM;
  489. struct CRITERIA
  490. {
  491.    PVOID            pReserved;           /* Reserved - MUST be null!!!! */
  492.    CRITERIA        *pNext;
  493.    CRITERIA        *pPrev;
  494.    ULONG            ClassFieldInfoIndex; /* Index of the details field  */
  495.    ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */
  496.    ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */
  497.    ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */
  498.    char             CompareValue[1];     /* Value to be compared with   */
  499. };
  500. typedef CRITERIA *PCRITERIA;
  501. typedef LHANDLE HFOBJ;
  502. struct CELL
  503. {
  504.    ULONG       cbData;           /* Size of the data that follows */
  505.    /* Class specific cell data follows immediately afterwards -
  506.     * for example the font palette would store the ASCII name of
  507.     * the font, and the color palette would store the RGB color
  508.     * of the cell.
  509.     */
  510. };
  511. typedef CELL *PCELL;
  512. struct RECTL                     /* rcl */
  513. {
  514.     long  xLeft;
  515.     long  yBottom;
  516.     long  xRight;
  517.     long  yTop;
  518. } ;
  519. typedef RECTL *PRECTL;
  520. struct PALINFO
  521. {
  522.    ULONG       xCellCount;       /* Number of columns of cells */
  523.    ULONG       yCellCount;       /* Number of rows of cells */
  524.    ULONG       xCursor;          /* Cursor location (readonly) */
  525.    ULONG       yCursor;          /* Cursor location (readonly) */
  526.    ULONG       xCellWidth;       /* Width of each cell */
  527.    ULONG       yCellHeight;      /* Height of each cell */
  528.    ULONG       xGap;             /* X separation of cells */
  529.    ULONG       yGap;             /* Y separation of cells */
  530. };
  531. typedef PALINFO *PPALINFO;
  532. struct CELLSTRUCT
  533. {
  534.    RECTL       rclCell;          /* Cell coordinates */
  535.    PCELL       pCell;            /* Cell data pointer */
  536. } ;
  537. typedef CELLSTRUCT *PCELLSTRUCT;
  538. struct CLASSCRITERIA                                     /*!INC*/
  539. {
  540.    CLASSCRITERIA         *pNext;
  541.    CLASSCRITERIA         *pPrev;
  542.    M_WPObject            *Class;          /* Class object */
  543.    PCRITERIA              pCriteria;      /* Linked list of criteria */
  544.    WPObject              NotifyObject;   /* Owner of the criteria list rcsom2 removed * */
  545. } ;
  546. typedef CLASSCRITERIA *PCLASSCRITERIA;
  547. struct FATTRS                           /* fat */
  548. {
  549.    USHORT  usRecordLength;
  550.    USHORT  fsSelection;
  551.    long    lMatch;
  552.    char    szFacename[FACESIZE];
  553.    USHORT  idRegistry;
  554.    USHORT  usCodePage;
  555.    long    lMaxBaselineExt;
  556.    long    lAveCharWidth;
  557.    USHORT  fsType;
  558.    USHORT  fsFontUse;
  559. } ;
  560. typedef FATTRS *PFATTRS;
  561. #endif /* WPTYPES_IDL  */                                                      // EEO:
  562.