Annotation of mstools/samples/sdktools/image/symedit/cv.h, revision 1.1.1.1

1.1       root        1: /*++
                      2: 
                      3: 
                      4: Copyright (c) 1992  Microsoft Corporation
                      5: 
                      6: Module Name:
                      7: 
                      8:     cv.h
                      9: 
                     10: Abstract:
                     11: 
                     12:     This file contains all of the type definitions for accessing
                     13:     CODEVIEW data.
                     14: 
                     15: Author:
                     16: 
                     17:     Wesley A. Witt (wesw) 19-April-1993
                     18: 
                     19: Environment:
                     20: 
                     21:     Win32, User Mode
                     22: 
                     23: --*/
                     24: #include <cvtypes.h>
                     25: #include <cvinfo.h>
                     26: #include <cvexefmt.h>
                     27: 
                     28: // Global Segment Info table
                     29: typedef struct _sgf {
                     30:     unsigned short      fRead   :1;
                     31:     unsigned short      fWrite  :1;
                     32:     unsigned short      fExecute:1;
                     33:     unsigned short      f32Bit  :1;
                     34:     unsigned short      res1    :4;
                     35:     unsigned short      fSel    :1;
                     36:     unsigned short      fAbs    :1;
                     37:     unsigned short      res2    :2;
                     38:     unsigned short      fGroup  :1;
                     39:     unsigned short      res3    :3;
                     40: } SGF;
                     41: 
                     42: typedef struct _sgi {
                     43:     SGF                 sgf;        // Segment flags
                     44:     unsigned short      iovl;       // Overlay number
                     45:     unsigned short      igr;        // Group index
                     46:     unsigned short      isgPhy;     // Physical segment index
                     47:     unsigned short      isegName;   // Index to segment name
                     48:     unsigned short      iclassName; // Index to segment class name
                     49:     unsigned long       doffseg;    // Starting offset inside physical segment
                     50:     unsigned long       cbSeg;      // Logical segment size
                     51: } SGI;
                     52: 
                     53: typedef struct _sgm {
                     54:     unsigned short      cSeg;       // number of segment descriptors
                     55:     unsigned short      cSegLog;    // number of logical segment descriptors
                     56: } SGM;
                     57: 
                     58: #define FileAlign(x)  ( ((x) + p->optrs.optHdr->FileAlignment - 1) &  \
                     59:                             ~(p->optrs.optHdr->FileAlignment - 1) )
                     60: #define SectionAlign(x) (((x) + p->optrs.optHdr->SectionAlignment - 1) &  \
                     61:                             ~(p->optrs.optHdr->SectionAlignment - 1) )
                     62: 
                     63: #define NextSym32(m)  ((DATASYM32 *) \
                     64:   (((DWORD)(m) + sizeof(DATASYM32) + \
                     65:     ((DATASYM32*)(m))->name[0] + 3) & ~3))
                     66: 
                     67: #define NextSym16(m)  ((DATASYM16 *) \
                     68:   (((DWORD)(m) + sizeof(DATASYM16) + \
                     69:     ((DATASYM16*)(m))->name[0] + 1) & ~1))

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.