mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1447 lines
43 KiB
1447 lines
43 KiB
/*-------------------------------------------------------------------
|
|
| OS Dependent Area
|
|
*/
|
|
|
|
#ifndef SODEFS_H
|
|
#define SODEFS_H
|
|
|
|
#ifdef WIN16
|
|
#define SO_ENTRYSC
|
|
#define SO_ENTRYMOD __export __far __cdecl
|
|
typedef unsigned long SOINT32U;
|
|
typedef signed long SOINT32S;
|
|
#endif /*WIN16*/
|
|
|
|
#ifdef WIN32
|
|
#define SO_ENTRYSC __declspec(dllexport)
|
|
#define SO_ENTRYMOD __cdecl
|
|
typedef unsigned long SOINT32U;
|
|
typedef signed long SOINT32S;
|
|
#endif /*WIN32*/
|
|
|
|
|
|
#ifdef MAC
|
|
#define SO_ENTRYSC
|
|
#define SO_ENTRYMOD
|
|
typedef unsigned long SOINT32U;
|
|
typedef signed long SOINT32S;
|
|
#endif /*MAC*/
|
|
|
|
#ifdef OS2
|
|
#define SO_ENTRYSC
|
|
#define SO_ENTRYMOD _System
|
|
typedef unsigned long SOINT32U;
|
|
typedef signed long SOINT32S;
|
|
#endif /*OS2*/
|
|
|
|
|
|
/*-------------------------------------------------------------------
|
|
| OS Independent Area
|
|
*/
|
|
|
|
#define SO_BEGINTOKEN 0xFF
|
|
|
|
#define SO_CHARATTR 0
|
|
#define SO_SPECIALCHAR 1
|
|
#define SO_CHARHEIGHT 2
|
|
#define SO_BREAK 3
|
|
#define SO_PARAALIGN 4
|
|
#define SO_PARAINDENT 5
|
|
#define SO_TABSTOPS 6
|
|
#define SO_MARGINS 7
|
|
#define SO_BEGINSUB 8
|
|
#define SO_ENDSUB 9
|
|
|
|
#define SO_CHARX 12
|
|
#define SO_TAGBEGIN 13
|
|
#define SO_TAGEND 14
|
|
|
|
#define SO_PARASPACING 15
|
|
#define SO_CHARFONTBYID 16
|
|
#define SO_CHARFONTBYNAME 17
|
|
|
|
#define SO_TABLE 18
|
|
#define SO_TABLEEND 21
|
|
|
|
#define SO_GRAPHICOBJECT 22
|
|
|
|
#define SO_GOTOPOSITION 23
|
|
#define SO_DRAWLINE 24
|
|
|
|
#define SO_ENDOFCHUNK 0xFE
|
|
|
|
|
|
#define SO_TEXTCELL 10 /* these two #defines should be in the chunker stuff */
|
|
#define SO_DATACELL 11
|
|
#define SO_EMPTYCELL 15
|
|
|
|
|
|
#define SO_CHTAB 1
|
|
#define SO_CHUNKNOWN 2
|
|
#define SO_CHSHYPHEN 3
|
|
#define SO_CHHPAGE 4
|
|
#define SO_CHHLINE 5
|
|
#define SO_CHHSPACE 6
|
|
#define SO_CHHHYPHEN 7
|
|
#define SO_CHPAGENUMBER 8
|
|
#define SO_CHDATE 9
|
|
#define SO_CHTIME 10
|
|
#define SO_CHCELLTAB 11
|
|
#define SO_CHSPAGE 12
|
|
|
|
|
|
/* NOTE: There is code in chunker.c that relies on the fact that */
|
|
/* the value of the largest #define for a character attribute will */
|
|
/* not exceed 15. */
|
|
|
|
#define SO_BOLD 2
|
|
#define SO_ITALIC 3
|
|
#define SO_UNDERLINE 4
|
|
#define SO_DUNDERLINE 5
|
|
#define SO_SMALLCAPS 6
|
|
#define SO_OUTLINE 7
|
|
#define SO_SHADOW 8
|
|
#define SO_CAPS 9
|
|
#define SO_SUBSCRIPT 10
|
|
#define SO_SUPERSCRIPT 11
|
|
#define SO_STRIKEOUT 12
|
|
#define SO_WORDUNDERLINE 13
|
|
#define SO_DOTUNDERLINE 14
|
|
#define SO_HIDDENTEXT 15
|
|
|
|
#define SO_ON 1
|
|
#define SO_OFF 0
|
|
|
|
#define SO_YES 1
|
|
#define SO_NO 0
|
|
|
|
#define SO_STOP 1
|
|
#define SO_CONTINUE 0
|
|
|
|
#define SO_ALIGNLEFT 1
|
|
#define SO_ALIGNRIGHT 2
|
|
#define SO_ALIGNCENTER 3
|
|
#define SO_ALIGNJUSTIFY 4
|
|
|
|
#define SO_TABLEFT 1
|
|
#define SO_TABRIGHT 2
|
|
#define SO_TABCENTER 3
|
|
#define SO_TABCHAR 4
|
|
#define SO_TABEMPTY 5
|
|
|
|
#define SO_HEADER 1
|
|
#define SO_FOOTER 2
|
|
#define SO_FOOTNOTE 3
|
|
#define SO_COMMENT 4
|
|
|
|
#define SO_LEFT 1
|
|
#define SO_RIGHT 2
|
|
#define SO_BOTH 3
|
|
|
|
|
|
#define SO_WORDPROCESSOR 120
|
|
#define SO_SPREADSHEET 121
|
|
#define SO_DATABASE 122
|
|
|
|
#define SO_PARAGRAPHS 0
|
|
#define SO_CELLS 1
|
|
#define SO_FIELDS 2
|
|
#define SO_BITMAP 4
|
|
#define SO_ARCHIVE 5
|
|
#define SO_VECTOR 6
|
|
|
|
#define SO_PARABREAK 1
|
|
#define SO_EOFBREAK 2
|
|
#define SO_SECTIONBREAK 3
|
|
#define SO_CELLBREAK 4
|
|
#define SO_RECORDBREAK 5
|
|
#define SO_SUBDOCBEGINBREAK 6
|
|
#define SO_SUBDOCENDBREAK 7
|
|
#define SO_SCANLINEBREAK 8
|
|
#define SO_ARCHIVEBREAK 9
|
|
#define SO_VECTORBREAK 10
|
|
#define SO_TABLEROWBREAK 19
|
|
#define SO_TABLECELLBREAK 20
|
|
|
|
#define SO_PROPERTYBREAK 50
|
|
|
|
#ifdef WINDOWS
|
|
// Language ID's
|
|
#define SOLANG_NEUTRAL LANG_NEUTRAL
|
|
|
|
#define SOLANG_ALBANIAN LANG_ALBANIAN
|
|
#define SOLANG_ARABIC LANG_ARABIC
|
|
#define SOLANG_BAHASA LANG_BAHASA
|
|
#define SOLANG_BULGARIAN LANG_BULGARIAN
|
|
#define SOLANG_CATALAN LANG_CATALAN
|
|
#define SOLANG_CHINESE LANG_CHINESE
|
|
#define SOLANG_CZECH LANG_CZECH
|
|
#define SOLANG_DANISH LANG_DANISH
|
|
#define SOLANG_DUTCH LANG_DUTCH
|
|
#define SOLANG_ENGLISH LANG_ENGLISH
|
|
#define SOLANG_FINNISH LANG_FINNISH
|
|
#define SOLANG_FRENCH LANG_FRENCH
|
|
#define SOLANG_GERMAN LANG_GERMAN
|
|
#define SOLANG_GREEK LANG_GREEK
|
|
#define SOLANG_HEBREW LANG_HEBREW
|
|
#define SOLANG_HUNGARIAN LANG_HUNGARIAN
|
|
#define SOLANG_ICELANDIC LANG_ICELANDIC
|
|
#define SOLANG_ITALIAN LANG_ITALIAN
|
|
#define SOLANG_JAPANESE LANG_JAPANESE
|
|
#define SOLANG_KOREAN LANG_KOREAN
|
|
#define SOLANG_NORWEGIAN LANG_NORWEGIAN
|
|
#define SOLANG_POLISH LANG_POLISH
|
|
#define SOLANG_PORTUGUESE LANG_PORTUGUESE
|
|
#define SOLANG_RHAETO_ROMAN LANG_RHAETO_ROMAN
|
|
#define SOLANG_ROMANIAN LANG_ROMANIAN
|
|
#define SOLANG_RUSSIAN LANG_RUSSIAN
|
|
#define SOLANG_SERBO_CROATIAN LANG_SERBO_CROATIAN
|
|
#define SOLANG_SLOVAK LANG_SLOVAK
|
|
#define SOLANG_SPANISH LANG_SPANISH
|
|
#define SOLANG_SWEDISH LANG_SWEDISH
|
|
#define SOLANG_THAI LANG_THAI
|
|
#define SOLANG_TURKISH LANG_TURKISH
|
|
#define SOLANG_URDU LANG_URDU
|
|
|
|
#define SOSUBLANG_NEUTRAL SUBLANG_NEUTRAL
|
|
#define SOSUBLANG_DEFAULT SUBLANG_DEFAULT
|
|
#define SOSUBLANG_SYS_DEFAULT SUBLANG_SYS_DEFAULT
|
|
|
|
#define SOSUBLANG_CHINESE_TRADITIONAL SUBLANG_CHINESE_TRADITIONAL
|
|
#define SOSUBLANG_CHINESE_SIMPLIFIED SUBLANG_CHINESE_SIMPLIFIED
|
|
#define SOSUBLANG_CHINESE_HONGKONG SUBLANG_CHINESE_HONGKONG
|
|
#define SOSUBLANG_CHINESE_SINGAPORE SUBLANG_CHINESE_SINGAPORE
|
|
#define SOSUBLANG_DUTCH SUBLANG_DUTCH
|
|
#define SOSUBLANG_DUTCH_BELGIAN SUBLANG_DUTCH_BELGIAN
|
|
#define SOSUBLANG_ENGLISH_US SUBLANG_ENGLISH_US
|
|
#define SOSUBLANG_ENGLISH_UK SUBLANG_ENGLISH_UK
|
|
#define SOSUBLANG_ENGLISH_AUS SUBLANG_ENGLISH_AUS
|
|
#define SOSUBLANG_ENGLISH_CAN SUBLANG_ENGLISH_CAN
|
|
#define SOSUBLANG_ENGLISH_NZ SUBLANG_ENGLISH_NZ
|
|
#define SOSUBLANG_ENGLISH_EIRE SUBLANG_ENGLISH_EIRE
|
|
#define SOSUBLANG_FRENCH SUBLANG_FRENCH
|
|
#define SOSUBLANG_FRENCH_BELGIAN SUBLANG_FRENCH_BELGIAN
|
|
#define SOSUBLANG_FRENCH_CANADIAN SUBLANG_FRENCH_CANADIAN
|
|
#define SOSUBLANG_FRENCH_SWISS SUBLANG_FRENCH_SWISS
|
|
#define SOSUBLANG_GERMAN SUBLANG_GERMAN
|
|
#define SOSUBLANG_GERMAN_SWISS SUBLANG_GERMAN_SWISS
|
|
#define SOSUBLANG_GERMAN_AUSTRIAN SUBLANG_GERMAN_AUSTRIAN
|
|
#define SOSUBLANG_ITALIAN SUBLANG_ITALIAN
|
|
#define SOSUBLANG_ITALIAN_SWISS SUBLANG_ITALIAN_SWISS
|
|
#define SOSUBLANG_NORWEGIAN_BOKMAL SUBLANG_NORWEGIAN_BOKMAL
|
|
#define SOSUBLANG_NORWEGIAN_NYNORSK SUBLANG_NORWEGIAN_NYNORSK
|
|
#define SOSUBLANG_PORTUGUESE SUBLANG_PORTUGUESE
|
|
#define SOSUBLANG_PORTUGUESE_BRAZILIAN SUBLANG_PORTUGUESE_BRAZILIAN
|
|
#define SOSUBLANG_SERBO_CROATIAN_CYRILLIC SUBLANG_SERBO_CROATIAN_CYRILLIC
|
|
#define SOSUBLANG_SERBO_CROATIAN_LATIN SUBLANG_SERBO_CROATIAN_LATIN
|
|
#define SOSUBLANG_SPANISH SUBLANG_SPANISH
|
|
#define SOSUBLANG_SPANISH_MEXICAN SUBLANG_SPANISH_MEXICAN
|
|
#define SOSUBLANG_SPANISH_MODERN SUBLANG_SPANISH_MODERN
|
|
|
|
#define SOMAKELANGID(p,s) MAKELANGID(p,s)
|
|
|
|
#endif // WINDOWS
|
|
|
|
|
|
|
|
#define SOERROR_GENERAL 0
|
|
#define SOERROR_BADFILE 1
|
|
#define SOERROR_EOF 2
|
|
|
|
#define SO_CELLLEFT 0
|
|
#define SO_CELLRIGHT 1
|
|
#define SO_CELLCENTER 2
|
|
#define SO_CELLFILL 3
|
|
|
|
#define SO_CELLBOLD 1
|
|
#define SO_CELLITALIC 2
|
|
#define SO_CELLUNDERLINE 4
|
|
#define SO_CELLSTRIKEOUT 8
|
|
|
|
#define SO_CELLINT32S 0
|
|
#define SO_CELLINT32U 1
|
|
#define SO_CELLIEEE4I 2
|
|
#define SO_CELLIEEE4M 3
|
|
#define SO_CELLIEEE8I 4
|
|
#define SO_CELLIEEE8M 5
|
|
#define SO_CELLIEEE10I 6
|
|
#define SO_CELLIEEE10M 7
|
|
#define SO_CELLBCD8I 8
|
|
#define SO_CELLEMPTY 9
|
|
#define SO_CELLERROR 10
|
|
#define SO_FIELDTEXTFIX 11
|
|
#define SO_FIELDTEXTVAR 12
|
|
|
|
|
|
#define SO_CELLNUMBER 0
|
|
#define SO_CELLDOLLARS 1
|
|
#define SO_CELLPERCENT 2
|
|
#define SO_CELLEXPONENT 3
|
|
#define SO_CELLDECIMAL 4
|
|
#define SO_CELLDATETIME 5
|
|
#define SO_CELLDATE 6
|
|
#define SO_CELLTIME 7
|
|
#define SO_CELLBOOL 8
|
|
|
|
#define SO_CELLNEG_MINUS 0
|
|
#define SO_CELLNEG_PAREN BIT0
|
|
#define SO_CELLNEG_MINUSRED BIT1
|
|
#define SO_CELLNEG_PARENRED BIT2
|
|
|
|
|
|
#define SO_CELL1000SEP_NONE 0
|
|
#define SO_CELL1000SEP_COMMA BIT3
|
|
|
|
/* MASK = 0xF0, bits 4,5,6,7 */
|
|
#define SO_CELLMULT_MASK 0xF0
|
|
|
|
#define SO_CELLMULT_1 0
|
|
#define SO_CELLMULT_01 0x10
|
|
#define SO_CELLMULT_5000 0x20
|
|
#define SO_CELLMULT_500 0x30
|
|
#define SO_CELLMULT_05 0x40
|
|
#define SO_CELLMULT_005 0x50
|
|
#define SO_CELLMULT_0005 0x60
|
|
#define SO_CELLMULT_00005 0x70
|
|
#define SO_CELLMULT_0625 0x80
|
|
#define SO_CELLMULT_015625 0x90
|
|
#define SO_CELLMULT_0001 0xA0
|
|
|
|
#define SO_CELLDATESEP_SLASH BIT8
|
|
#define SO_CELLDATESEP_MINUS BIT9
|
|
#define SO_CELLDATESEP_PERIOD BIT10
|
|
#define SO_CELLDATESEP_SPACE BIT11
|
|
#define SO_CELLDATESEP_NONE 0
|
|
|
|
#define SO_CELLMONTH_FULL BIT12
|
|
#define SO_CELLMONTH_ABBREV BIT13
|
|
#define SO_CELLMONTH_NUMBER BIT14
|
|
#define SO_CELLMONTH_NONE 0
|
|
|
|
#define SO_CELLYEAR_FULL BIT15L
|
|
#define SO_CELLYEAR_ABBREV BIT16L
|
|
#define SO_CELLYEAR_NONE 0
|
|
|
|
#define SO_HHMMBIT BIT17L
|
|
#define SO_HHMMSSBIT BIT18L
|
|
#define SO_AMPMBIT BIT19L
|
|
#define SO_HMSBIT BIT20L
|
|
|
|
#define SO_CELLTIME_HHMM24 SO_HHMMBIT
|
|
#define SO_CELLTIME_HHMMSS24 SO_HHMMSSBIT
|
|
#define SO_CELLTIME_HHMMAM (SO_HHMMBIT | SO_AMPMBIT)
|
|
#define SO_CELLTIME_HHMMSSAM (SO_HHMMSSBIT | SO_AMPMBIT)
|
|
#define SO_CELLTIME_HHMMHMS (SO_HHMMBIT | SO_HMSBIT)
|
|
#define SO_CELLTIME_HHMMSSHMS (SO_HHMMSSBIT | SO_HMSBIT)
|
|
#define SO_CELLTIME_NONE 0
|
|
|
|
#define SO_CELLDAY_NUMBER BIT21L
|
|
#define SO_CELLDAY_NONE 0
|
|
|
|
#define SO_CELLDAYOFWEEK_FULL BIT22L
|
|
#define SO_CELLDAYOFWEEK_ABBREV BIT23L
|
|
#define SO_CELLDAYOFWEEK_NONE 0
|
|
|
|
/* The following values are stored in consecutive 3-bit pieces of an integer. */
|
|
|
|
/* MASK = 0x07 */
|
|
#define SO_CELLDAYOFWEEK_SHIFT 0
|
|
#define SO_CELLDAYOFWEEK_MASK 0x07
|
|
#define SO_CELLDAYOFWEEK_1 1
|
|
#define SO_CELLDAYOFWEEK_2 2
|
|
#define SO_CELLDAYOFWEEK_3 3
|
|
#define SO_CELLDAYOFWEEK_4 4
|
|
#define SO_CELLDAYOFWEEK_5 5
|
|
|
|
/* MASK = 0x38 */
|
|
#define SO_CELLMONTH_SHIFT 3
|
|
#define SO_CELLMONTH_MASK 0x38
|
|
#define SO_CELLMONTH_1 8 /* (1<<3) */
|
|
#define SO_CELLMONTH_2 16 /* (2<<3) */
|
|
#define SO_CELLMONTH_3 24 /* (3<<3) */
|
|
#define SO_CELLMONTH_4 32 /* (4<<3) */
|
|
#define SO_CELLMONTH_5 40 /* (5<<3) */
|
|
|
|
/* MASK = 0x1C0 */
|
|
#define SO_CELLDAY_SHIFT 6
|
|
#define SO_CELLDAY_MASK 0x1C0
|
|
#define SO_CELLDAY_1 64 /* (1<<6) */
|
|
#define SO_CELLDAY_2 128 /* (2<<6) */
|
|
#define SO_CELLDAY_3 192 /* (3<<6) */
|
|
#define SO_CELLDAY_4 256 /* (4<<6) */
|
|
#define SO_CELLDAY_5 320 /* (5<<6) */
|
|
|
|
/* MASK = 0xE00 */
|
|
#define SO_CELLYEAR_SHIFT 9
|
|
#define SO_CELLYEAR_MASK 0xE00
|
|
#define SO_CELLYEAR_1 512 /* (1<<9) */
|
|
#define SO_CELLYEAR_2 1024 /* (2<<9) */
|
|
#define SO_CELLYEAR_3 1536 /* (3<<9) */
|
|
#define SO_CELLYEAR_4 2048 /* (4<<9) */
|
|
#define SO_CELLYEAR_5 2560 /* (5<<9) */
|
|
|
|
/* MASK = 0x7000 */
|
|
#define SO_CELLTIME_SHIFT 12
|
|
#define SO_CELLTIME_MASK 0x7000
|
|
#define SO_CELLTIME_1 4096 /* (1<<12) */
|
|
#define SO_CELLTIME_2 8192 /* (2<<12) */
|
|
#define SO_CELLTIME_3 12288 /* (3<<12) */
|
|
#define SO_CELLTIME_4 16384 /* (4<<12) */
|
|
#define SO_CELLTIME_5 20480 /* (5<<12) */
|
|
|
|
|
|
/*
|
|
| Character sets.
|
|
*/
|
|
|
|
#define SO_PC 1
|
|
#define SO_MAC 2
|
|
#define SO_WINDOWS 3
|
|
#define SO_DCA 4
|
|
#define SO_DBCS 5
|
|
#define SO_UNICODE 6
|
|
|
|
/*
|
|
| SOSetDateBase FLAGS
|
|
*/
|
|
|
|
#define SO_LOTUSHELL 0x0001
|
|
|
|
/*
|
|
| SOGetInfo Ids
|
|
*/
|
|
|
|
#define SOINFO_COLUMNRANGE 1
|
|
#define SOINFO_CELLRANGE 1 // New name, same old value.
|
|
#define SOINFO_STARTRECORD 2
|
|
|
|
/*
|
|
| SOPutCharX & SOPutSpecialCHarX FLAGS
|
|
*/
|
|
|
|
#define SO_COUNTBIT 0x0001
|
|
#define SO_LIMITEDITBIT 0x0002
|
|
#define SO_HIDDENBIT 0x0004
|
|
|
|
#define SO_COUNT SO_COUNTBIT
|
|
#define SO_NOCOUNT SO_LIMITEDITBIT
|
|
#define SO_LIMITEDIT SO_LIMITEDITBIT
|
|
#define SO_DELETE SO_COUNTBIT
|
|
#define SO_NODELETE 0
|
|
#define SO_HIDDEN (SO_HIDDENBIT | SO_LIMITEDITBIT)
|
|
#define SO_NOHIDDEN 0x0000
|
|
|
|
|
|
/*
|
|
| font family
|
|
*/
|
|
|
|
#define SO_FAMILYUNKNOWN 1
|
|
#define SO_FAMILYROMAN 2
|
|
#define SO_FAMILYSWISS 3
|
|
#define SO_FAMILYMODERN 4
|
|
#define SO_FAMILYSCRIPT 5
|
|
#define SO_FAMILYDECORATIVE 6
|
|
#define SO_FAMILYSYMBOL 7
|
|
|
|
#define SO_FAMILYWINDOWS 0x1000
|
|
|
|
#define SO_HASCHARSET 0x10
|
|
#define SO_MASKCHARSET 0x1F
|
|
|
|
#define SO_CHARSET_SHIFTJIS 0x10
|
|
#define SO_CHARSET_HANGEUL 0x11
|
|
#define SO_CHARSET_CHINESEBIG5 0x12
|
|
#define SO_CHARSET_ANSI 0x13
|
|
#define SO_CHARSET_OEM 0x14
|
|
#define SO_CHARSET_MAC 0x15
|
|
|
|
/*
|
|
| line spacing types
|
|
*/
|
|
|
|
#define SO_HEIGHTAUTO 1
|
|
#define SO_HEIGHTATLEAST 2
|
|
#define SO_HEIGHTEXACTLY 3
|
|
|
|
/*
|
|
| position flags
|
|
*/
|
|
#define SOPOS_FROMLEFTEDGE 0x01
|
|
#define SOPOS_FROMTOPEDGE 0x02
|
|
#define SOPOS_FROMBASELINE 0x04
|
|
|
|
typedef struct SOPAGEPOSITIONtag
|
|
{
|
|
DWORD dwFlags;
|
|
LONG lXOffset;
|
|
LONG lYOffset;
|
|
} SOPAGEPOSITION, VWPTR * PSOPAGEPOSITION;
|
|
|
|
/*
|
|
| Bitmap filter definitions
|
|
*/
|
|
|
|
/* wImageFlags */
|
|
#define SO_BOTTOMTOTOP 0x0001
|
|
#define SO_GRAYSCALE 0x0002
|
|
#define SO_BLACKANDWHITE 0x0004
|
|
#define SO_COLORPALETTE 0x0008
|
|
#define SO_RGBCOLOR 0x0010
|
|
#define SO_BGRCOLOR 0x0020
|
|
#define SO_WHITEZERO 0x0040
|
|
|
|
|
|
|
|
/*
|
|
| Archive filter definitions
|
|
*/
|
|
|
|
#define SO_ARCENDOFRECORD 0xFFFF
|
|
|
|
#define SOARC_FILENAME 1
|
|
#define SOARC_FILEDATE 2
|
|
#define SOARC_FILETIME 3
|
|
#define SOARC_FILEPATH 4
|
|
#define SOARC_COMPRESSIONTYPE 5
|
|
#define SOARC_FILECOMMENT 6
|
|
#define SOARC_FILEMODDATE 7
|
|
#define SOARC_FILEMODTIME 8
|
|
#define SOARC_FILESIZE 9
|
|
#define SOARC_FILECOMPRESSSIZE 10
|
|
#define SOARC_FILECRC 11
|
|
#define SOARC_BUFFERSIZE 12
|
|
#define SOARC_CHECKSUM 13
|
|
#define SOARC_FILEOS 14
|
|
#define SOARC_ENCRYPTED 15
|
|
|
|
|
|
/*
|
|
| Vector graphics stuff.
|
|
*/
|
|
|
|
/*
|
|
| Macros
|
|
*/
|
|
|
|
#ifdef WINDOWS
|
|
#define SORGB(r,g,b) ((SOCOLORREF)(((BYTE)(r)|((DWORD)(BYTE)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
|
|
#endif
|
|
#ifdef MAC
|
|
#define SORGB(r,g,b) ((SOCOLORREF)(((DWORD)(BYTE)(r)|((DWORD)(BYTE)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
|
|
#endif
|
|
#ifdef OS2
|
|
#define SORGB(r,g,b) ((SOCOLORREF)(((DWORD)(BYTE)(r)|((DWORD)(BYTE)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
|
|
#endif
|
|
|
|
#define SOPALETTERGB(r,g,b) (0x02000000L | SORGB(r,g,b))
|
|
#define SOPALETTEINDEX(i) ((SOCOLORREF)(0x01000000L | (DWORD)(WORD)(i)))
|
|
#define SOANGLETENTHS(n) ((SOANGLE)(n))
|
|
#define SOSETRATIO(m,n) ((SORATIO)(((SORATIO)m<<16)|(SORATIO)(n)))
|
|
|
|
#define SOREDFROMRGB(rgb) (BYTE)(rgb&0x000000FF)
|
|
#define SOGREENFROMRGB(rgb) (BYTE)((rgb&0x0000FF00)>>8)
|
|
#define SOBLUEFROMRGB(rgb) (BYTE)((rgb&0x00FF0000)>>16)
|
|
|
|
typedef DWORD SOCOLORREF;
|
|
typedef SHORT SOANGLE;
|
|
typedef DWORD SORATIO;
|
|
|
|
typedef struct SORECTtag
|
|
{
|
|
SHORT left;
|
|
SHORT top;
|
|
SHORT right;
|
|
SHORT bottom;
|
|
} SORECT, VWPTR *PSORECT;
|
|
|
|
typedef struct SOPOINTtag
|
|
{
|
|
SHORT x;
|
|
SHORT y;
|
|
} SOPOINT, VWPTR *PSOPOINT;
|
|
|
|
|
|
#define SOLF_FACESIZE 32
|
|
typedef struct SOLOGFONTtag
|
|
{
|
|
SHORT lfHeight;
|
|
SHORT lfWidth;
|
|
SHORT lfEscapement;
|
|
SHORT lfOrientation;
|
|
SHORT lfWeight;
|
|
BYTE lfItalic;
|
|
BYTE lfUnderline;
|
|
BYTE lfStrikeOut;
|
|
BYTE lfCharSet;
|
|
BYTE lfOutPrecision;
|
|
BYTE lfClipPrecision;
|
|
BYTE lfQuality;
|
|
BYTE lfPitchAndFamily;
|
|
CHAR lfFaceName[SOLF_FACESIZE];
|
|
} SOLOGFONT, VWPTR *PSOLOGFONT;
|
|
|
|
/* lfWeight values */
|
|
#define SOLF_FW_NORMAL 400
|
|
#define SOLF_FW_BOLD 700
|
|
|
|
/* lfCharSet */
|
|
#define SOLF_ANSI_CHARSET 0
|
|
#define SOLF_SYMBOL_CHARSET 2
|
|
#define SOLF_OEM_CHARSET 255
|
|
|
|
/* lfOutPrecision */
|
|
#define SOLF_OUT_DEFAULT_PRECIS 0
|
|
|
|
/* lfClipPrecision */
|
|
#define SOLF_CLIP_DEFAULT_PRECIS 0
|
|
#define SOLF_CLIP_LH_ANGLES 0x10
|
|
|
|
/* lfQuality */
|
|
#define SOLF_DEFAULT_QUALITY 0
|
|
#define SOLF_DRAFT_QUALITY 1
|
|
#define SOLF_PROOF_QUALITY 2
|
|
|
|
/* PitchAndFamily pitch values (low 4 bits) */
|
|
#define SOLF_DEFAULT_PITCH 0x00
|
|
#define SOLF_FIXED_PITCH 0x01
|
|
#define SOLF_VARIABLE_PITCH 0x02
|
|
|
|
/* PitchAndFamily family values (high 4 bits) */
|
|
#define SOLF_FF_DECORATIVE 0x00
|
|
#define SOLF_FF_DONTCARE 0x10
|
|
#define SOLF_FF_MODERN 0x20
|
|
#define SOLF_FF_ROMAN 0x30
|
|
#define SOLF_FF_SCRIPT 0x40
|
|
#define SOLF_FF_SWISS 0x50
|
|
|
|
typedef struct SOLOGPENtag
|
|
{
|
|
SHORT loPenStyle;
|
|
SOPOINT loWidth;
|
|
SOCOLORREF loColor;
|
|
} SOLOGPEN, VWPTR *PSOLOGPEN;
|
|
|
|
/* Pen Styles */
|
|
#define SOPS_SOLID 0
|
|
#define SOPS_DASH 1
|
|
#define SOPS_DOT 2
|
|
#define SOPS_DASHDOT 3
|
|
#define SOPS_DASHDOTDOT 4
|
|
#define SOPS_NULL 5
|
|
#define SOPS_INSIDEFRAME 6
|
|
|
|
typedef struct SOLOGBRUSHtag
|
|
{
|
|
WORD lbStyle;
|
|
SOCOLORREF lbColor;
|
|
SHORT lbHatch;
|
|
} SOLOGBRUSH, VWPTR *PSOLOGBRUSH;
|
|
|
|
/* Brush Styles */
|
|
#define SOBS_SOLID 0
|
|
#define SOBS_NULL 1
|
|
#define SOBS_HOLLOW SOBS_NULL
|
|
#define SOBS_HATCHED 2
|
|
#define SOBS_PATTERN 3
|
|
#define SOBS_INDEXED 4
|
|
#define SOBS_DIBPATTERN 5
|
|
|
|
/* Hatch Styles */
|
|
#define SOHS_HORIZONTAL 0
|
|
#define SOHS_VERTICAL 1
|
|
#define SOHS_FDIAGONAL 2
|
|
#define SOHS_BDIAGONAL 3
|
|
#define SOHS_CROSS 4
|
|
#define SOHS_DIAGCROSS 5
|
|
|
|
|
|
typedef struct SOVECTORHEADERtag
|
|
{
|
|
WORD wStructSize;
|
|
SORECT BoundingRect;
|
|
WORD wHDpi;
|
|
WORD wVDpi;
|
|
WORD wImageFlags;
|
|
SOCOLORREF BkgColor;
|
|
} SOVECTORHEADER, VWPTR *PSOVECTORHEADER;
|
|
|
|
/* wImageFlags values */
|
|
#define SO_VECTORRGBCOLOR BIT0
|
|
#define SO_VECTORCOLORPALETTE BIT1
|
|
#define SO_YISUP BIT2
|
|
#define SO_XISLEFT BIT3
|
|
|
|
typedef struct SOARCINFOtag
|
|
{
|
|
SORECT Rect;
|
|
SOANGLE StartAngle;
|
|
SOANGLE EndAngle;
|
|
} SOARCINFO, VWPTR *PSOARCINFO;
|
|
|
|
typedef struct SOTEXTINRECTtag
|
|
{
|
|
SORECT Rect;
|
|
WORD wFormat;
|
|
SHORT nTextLength;
|
|
} SOTEXTINRECT, VWPTR *PSOTEXTINRECT;
|
|
|
|
/* wFormat values */
|
|
#define SODT_TOP 0x0000
|
|
#define SODT_LEFT 0x0000
|
|
#define SODT_CENTER 0x0001
|
|
#define SODT_RIGHT 0x0002
|
|
#define SODT_VCENTER 0x0004
|
|
#define SODT_BOTTOM 0x0008
|
|
#define SODT_WORDBREAK 0x0010
|
|
#define SODT_SINGLELINE 0x0020
|
|
#define SODT_EXPANDTABS 0x0040
|
|
#define SODT_TABSTOP 0x0080
|
|
#define SODT_NOCLIP 0x0100
|
|
#define SODT_EXTERNALLEADING 0x0200
|
|
#define SODT_CALCRECT 0x0400
|
|
#define SODT_NOPREFIX 0x0800
|
|
#define SODT_INTERNAL 0x1000
|
|
|
|
/* PolyFillMode values */
|
|
#define SOPF_ALTERNATE 1
|
|
#define SOPF_WINDING 2
|
|
|
|
/* DrawMode values */
|
|
#define SOR2_BLACK 1
|
|
#define SOR2_NOTMERGEPEN 2
|
|
#define SOR2_MASKNOTPEN 3
|
|
#define SOR2_NOTCOPYPEN 4
|
|
#define SOR2_MASKPENNOT 5
|
|
#define SOR2_NOT 6
|
|
#define SOR2_XORPEN 7
|
|
#define SOR2_NOTMASKPEN 8
|
|
#define SOR2_MASKPEN 9
|
|
#define SOR2_NOTXORPEN 10
|
|
#define SOR2_NOP 11
|
|
#define SOR2_MERGENOTPEN 12
|
|
#define SOR2_COPYPEN 13
|
|
#define SOR2_MERGEPENNOT 14
|
|
#define SOR2_MERGEPEN 15
|
|
#define SOR2_WHITE 16
|
|
|
|
typedef struct SOTEXTATPOINTtag
|
|
{
|
|
SOPOINT Point;
|
|
WORD wFormat;
|
|
SHORT nTextLength;
|
|
} SOTEXTATPOINT, VWPTR *PSOTEXTATPOINT;
|
|
|
|
typedef struct SOTEXTATARCANGLEtag
|
|
{
|
|
SOARCINFO ArcInfo;
|
|
WORD wFormat;
|
|
SHORT nTextLength;
|
|
} SOTEXTATARCANGLE, VWPTR *PSOTEXTATARCANGLE;
|
|
|
|
/* Text Alignment Options */
|
|
#define SOTA_NOUPDATECP 0x0000
|
|
#define SOTA_UPDATECP 0x0001
|
|
#define SOTA_LEFT 0x0000
|
|
#define SOTA_RIGHT 0x0002
|
|
#define SOTA_CENTER 0x0006
|
|
#define SOTA_TOP 0x0000
|
|
#define SOTA_BOTTOM 0x0008
|
|
#define SOTA_BASELINE 0x0018
|
|
|
|
typedef struct SOSPOLYINFOtag
|
|
{
|
|
WORD wFormat;
|
|
SHORT nPoints;
|
|
} SOPOLYINFO, VWPTR *PSOPOLYINFO;
|
|
|
|
/* Poly object types */
|
|
#define SOPT_POLYLINE 1
|
|
#define SOPT_POLYGON 2
|
|
#define SOPT_BEZIEROPEN 3
|
|
#define SOPT_BEZIERCLOSE 4
|
|
#define SOPT_SPLINEOPEN 5
|
|
#define SOPT_SPLINECLOSE 6
|
|
#define SOPT_CPPOLYLINE 7 /* Current Point polys */
|
|
#define SOPT_CPPOLYGON 8
|
|
|
|
/* Background mode values */
|
|
#define SOBK_TRANSPARENT 1
|
|
#define SOBK_OPAQUE 2
|
|
|
|
|
|
typedef struct SOCPTEXTATPOINTtag
|
|
{
|
|
WORD wFormat;
|
|
SHORT nTextLength;
|
|
} SOCPTEXTATPOINT, VWPTR *PSOCPTEXTATPOINT;
|
|
|
|
typedef struct SOCPARCANGLEtag
|
|
{
|
|
SOPOINT Center;
|
|
SOANGLE SweepAngle;
|
|
} SOCPARCANGLE, VWPTR *PSOCPARCANGLE;
|
|
|
|
typedef struct SOCPPIEANGLEtag
|
|
{
|
|
SOPOINT Radius;
|
|
SOANGLE StartAngle;
|
|
SOANGLE SweepAngle;
|
|
} SOCPPIEANGLE, VWPTR *PSOCPPIEANGLE;
|
|
|
|
typedef struct SOTRANSFORMtag
|
|
{
|
|
WORD wTransformFlags;
|
|
SOPOINT Origin;
|
|
SHORT xOffset;
|
|
SHORT yOffset;
|
|
SORATIO xScale;
|
|
SORATIO yScale;
|
|
SORATIO xSkew;
|
|
SORATIO ySkew;
|
|
SOANGLE RotationAngle;
|
|
} SOTRANSFORM, VWPTR *PSOTRANSFORM;
|
|
|
|
/* Transformation flags */
|
|
#define SOTF_NOTRANSFORM BIT0
|
|
#define SOTF_ROTATE BIT1
|
|
#define SOTF_XOFFSET BIT2
|
|
#define SOTF_YOFFSET BIT3
|
|
#define SOTF_XSCALE BIT4
|
|
#define SOTF_YSCALE BIT5
|
|
#define SOTF_XSKEW BIT6
|
|
#define SOTF_YSKEW BIT7
|
|
|
|
/* Possible values for the clip mode */
|
|
#define SO_DONOTCLIP 0
|
|
#define SO_CLIPTOPATH 1
|
|
|
|
/* Possible values for the point relation attribute */
|
|
#define SOPR_ABSOLUTE 0
|
|
#define SOPR_RELATIVE 1
|
|
|
|
/* Possible values for the wDrawPathFlags */
|
|
#define SODP_STROKE BIT0
|
|
#define SODP_FILL BIT1
|
|
|
|
typedef struct SOGROUPINFOtag
|
|
{
|
|
WORD wStructSize;
|
|
SORECT BoundingRect;
|
|
SHORT nTransforms;
|
|
} SOGROUPINFO, VWPTR *PSOGROUPINFO;
|
|
|
|
typedef struct SOPATHINFOtag
|
|
{
|
|
WORD wStructSize;
|
|
SORECT BoundingRect;
|
|
SHORT nTransforms;
|
|
} SOPATHINFO, VWPTR *PSOPATHINFO;
|
|
|
|
#define SOFF_FIXUPBOUNDS BIT0
|
|
|
|
typedef struct SOFRAMEINFOtag
|
|
{
|
|
SORECT BoundingRect;
|
|
WORD wFlags;
|
|
WORD OriginalWidth;
|
|
SOANGLE RotationAngle;
|
|
SOPOINT ReferencePoint;
|
|
} SOFRAMEINFO, VWPTR *PSOFRAMEINFO;
|
|
|
|
typedef struct SOMPARAINDENTStag
|
|
{
|
|
SHORT FirstLineIndent;
|
|
SHORT LeftIndent;
|
|
SHORT RightIndent;
|
|
} SOMPARAINDENTS, VWPTR *PSOMPARAINDENTS;
|
|
|
|
typedef struct SOMPARASPACINGtag
|
|
{
|
|
WORD LineSpaceAdjust;
|
|
WORD ParaSpaceAdjust;
|
|
} SOMPARASPACING, VWPTR *PSOMPARASPACING;
|
|
|
|
/* Maximum Points provided by a filter in one SOPOINTS object call */
|
|
#define SOMAXPOINTS 128
|
|
|
|
/* SOVectorAttr Id's */
|
|
#define SO_SELECTFONT 0x100
|
|
#define SO_SELECTPEN 0x101
|
|
#define SO_SELECTBRUSH 0x102
|
|
#define SO_POLYFILLMODE 0x103
|
|
#define SO_TEXTCHAREXTRA 0x104
|
|
#define SO_DRAWMODE 0x105
|
|
#define SO_TEXTCOLOR 0x106
|
|
#define SO_BKMODE 0x107
|
|
#define SO_BKCOLOR 0x108
|
|
#define SO_OBJECTTRANSFORM 0x109
|
|
#define SO_CLIPMODE 0x10A
|
|
#define SO_POINTRELATION 0x10B
|
|
#define SO_MPARAINDENT 0x10C
|
|
#define SO_MPARAALIGN 0x10D
|
|
#define SO_MPARASPACING 0x10E
|
|
|
|
/* SOVectorObject Id's */
|
|
#define SO_ARC 0x300
|
|
#define SO_CHORD 0x301
|
|
#define SO_TEXTINRECT 0x302
|
|
#define SO_ELLIPSE 0x303
|
|
#define SO_FLOODFILL 0x304
|
|
#define SO_LINE 0x305
|
|
#define SO_PIE 0x306
|
|
#define SO_STARTPOLY 0x307
|
|
#define SO_ENDPOLY 0x308
|
|
#define SO_RECTANGLE 0x309
|
|
#define SO_BEGINPATH 0x30A
|
|
#define SO_ENDPATH 0x30B
|
|
#define SO_CLOSESUBPATH 0x30C
|
|
#define SO_DRAWPATH 0x30D
|
|
#define SO_BEGINGROUP 0x30E
|
|
#define SO_ENDGROUP 0x30F
|
|
#define SO_ROUNDRECT 0x310
|
|
#define SO_SETPIXEL 0x311
|
|
#define SO_TEXTATPOINT 0x312
|
|
#define SO_POINTS 0x313
|
|
#define SO_ARCANGLE 0x314
|
|
#define SO_CHORDANGLE 0x315
|
|
#define SO_PIEANGLE 0x316
|
|
#define SO_CPSET 0x317
|
|
#define SO_CPLINE 0x318
|
|
#define SO_CPRECTANGLE 0x319
|
|
#define SO_CPTEXTATPOINT 0x31A
|
|
#define SO_CPELLIPSE 0x31B
|
|
#define SO_CPARCTRIPLE 0x31C
|
|
#define SO_CPARCANGLE 0x31D
|
|
#define SO_CPPIEANGLE 0x31E
|
|
#define SO_ARCCLOCKWISE 0x31F
|
|
#define SO_ARCANGLECLOCKWISE 0x320
|
|
#define SO_TEXTATARCANGLE 0x321
|
|
#define SO_BEGINSYMBOL 0x322
|
|
#define SO_ENDSYMBOL 0x323
|
|
#define SO_BEGINTEXTFRAME 0x324
|
|
#define SO_ENDTEXTFRAME 0x325
|
|
#define SO_TEXTINPARA 0x326
|
|
#define SO_PARAEND 0x327
|
|
|
|
#define SO_ARCTRIPLE 0x328
|
|
#define SO_PIETRIPLE 0x329
|
|
#define SO_CHORDTRIPLE 0x32A
|
|
#define SO_ELLIPSERADII 0x32B
|
|
#define SO_ARCRADII 0x32C
|
|
#define SO_PIERADII 0x32D
|
|
#define SO_CHORDRADII 0x32E
|
|
|
|
|
|
#define SO_VECTORENDOFCHUNK 0xFFFF
|
|
|
|
/*
|
|
| SO Header info
|
|
*/
|
|
#define SOHDR_ARCNUMFILES 1
|
|
#define SOHDR_ARCCREATEDATE 2
|
|
#define SOHDR_ARCMODTIME 3
|
|
#define SOHDR_ARCTYPE 4
|
|
#define SOHDR_ARCOS 5
|
|
#define SOHDR_ARCCOMMENT 6
|
|
#define SOHDR_ARCVERSION 7
|
|
|
|
|
|
/*
|
|
| Bored-er definitions
|
|
*/
|
|
|
|
#define SO_BORDERSINGLE 0x0000 // Default
|
|
#define SO_BORDERNONE 0x0001
|
|
#define SO_BORDERDOUBLE 0x0002
|
|
#define SO_BORDERHAIRLINE 0x0004
|
|
#define SO_BORDERTHICK 0x0008
|
|
#define SO_BORDERSHADOW 0x0010
|
|
#define SO_BORDERDOTTED 0x0020
|
|
#define SO_BORDERPRIORITY 0x0040
|
|
|
|
/*
|
|
| Table stuff.
|
|
*/
|
|
#define SO_MERGELEFT 0x0001
|
|
#define SO_MERGERIGHT 0x0002
|
|
#define SO_MERGEABOVE 0x0004
|
|
#define SO_MERGEBELOW 0x0008
|
|
|
|
typedef struct SOBORDERtag
|
|
{
|
|
WORD wWidth; // Width of border in twips
|
|
SOCOLORREF rgbColor; // Color of border
|
|
WORD wFlags; // Specifies the type of border and the edges to which it applies.
|
|
|
|
} SOBORDER, VWPTR * PSOBORDER;
|
|
|
|
|
|
|
|
typedef struct SOTABLECELLINFOtag
|
|
{
|
|
WORD wWidth; // Width of the cell, in twips
|
|
WORD wMerge; // Bitfield that indicates whether the cell should be merged with any of the cells around it. Possible flags are SO_MERGELEFT, SO_MERGERIGHT, SO_MERGEABOVE, and SO_MERGEBELOW.
|
|
WORD wShading; // Intensity value for background shading, in range of 0-255, where a value of zero indicates that there is no background shading.
|
|
SOBORDER LeftBorder; // Specifies left border
|
|
SOBORDER RightBorder; // Specifies right border
|
|
SOBORDER TopBorder; // Specifies top border
|
|
SOBORDER BottomBorder; // Specifies bottom border
|
|
|
|
#ifdef WINNT
|
|
} SOTABLECELLINFO, VWPTR * PSOTABLECELLINFO, * HPSOTABLECELLINFO;
|
|
#else
|
|
} SOTABLECELLINFO, VWPTR * PSOTABLECELLINFO, HUGE * HPSOTABLECELLINFO;
|
|
#endif
|
|
|
|
|
|
/*
|
|
| SOTAB structure
|
|
*/
|
|
|
|
typedef struct SOTABtag
|
|
{
|
|
WORD wType;
|
|
WORD wChar;
|
|
WORD wLeader;
|
|
DWORD dwOffset;
|
|
} SOTAB, VWPTR * PSOTAB;
|
|
|
|
/*
|
|
| SOFILTERINFO structure
|
|
*/
|
|
|
|
typedef struct SOFILTERINFOtag
|
|
{
|
|
WORD wFilterType;
|
|
WORD wFilterCharSet;
|
|
CHAR szFilterName[32];
|
|
} SOFILTERINFO, VWPTR * PSOFILTERINFO;
|
|
|
|
/*
|
|
| SOCOLUMN structure
|
|
*/
|
|
|
|
typedef struct SOCOLUMNtag
|
|
{
|
|
WORD wStructSize;
|
|
LONG dwWidth;
|
|
CHAR szName[40];
|
|
} SOCOLUMN, VWPTR * PSOCOLUMN;
|
|
|
|
/*
|
|
| SOCELLLAYOUT structure
|
|
*/
|
|
typedef struct tagSOCELLLAYOUT
|
|
{
|
|
DWORD dwStructSize;
|
|
WORD wPrefWidth;
|
|
WORD wPrefHeight;
|
|
DWORD dwNumRows;
|
|
|
|
DWORD dwFlags;
|
|
#define SO_CELLLAYOUTVERTICAL 0x00000001
|
|
#define SO_USEPREFERREDWIDTH 0x00000002
|
|
#define SO_USEPREFERREDHEIGHT 0x00000004
|
|
|
|
} SOCELLLAYOUT, VWPTR * PSOCELLLAYOUT;
|
|
|
|
/*
|
|
| SOFIELD structure
|
|
*/
|
|
|
|
typedef struct SOFIELDtag
|
|
{
|
|
WORD wStructSize;
|
|
LONG dwWidth;
|
|
CHAR szName[40];
|
|
WORD wStorage;
|
|
WORD wDisplay;
|
|
DWORD dwSubDisplay;
|
|
WORD wPrecision;
|
|
WORD wAlignment;
|
|
} SOFIELD, VWPTR * PSOFIELD;
|
|
|
|
/*
|
|
| SOTEXTCELL structure
|
|
*/
|
|
|
|
typedef struct SOTEXTCELLtag
|
|
{
|
|
WORD wStructSize;
|
|
WORD wAlignment;
|
|
WORD wAttribute;
|
|
} SOTEXTCELL, VWPTR * PSOTEXTCELL;
|
|
|
|
/*
|
|
| SODATACELL structure
|
|
*/
|
|
|
|
typedef union SONUMBERUNIONtag
|
|
{
|
|
SOINT32S Int32S;
|
|
SOINT32U Int32U;
|
|
BYTE IEEE4[4];
|
|
BYTE IEEE8[8];
|
|
BYTE IEEE10[10];
|
|
BYTE BCD8[8];
|
|
} SONUMBERUNION, VWPTR * PSONUMBERUNION;
|
|
|
|
typedef struct SODATACELLtag
|
|
{
|
|
WORD wStructSize;
|
|
WORD wStorage;
|
|
WORD wDisplay;
|
|
DWORD dwSubDisplay;
|
|
WORD wPrecision;
|
|
WORD wAlignment;
|
|
WORD wAttribute;
|
|
/*
|
|
union
|
|
{
|
|
SOINT32S Int32S;
|
|
SOINT32U Int32U;
|
|
BYTE IEEE4[4];
|
|
BYTE IEEE8[8];
|
|
BYTE IEEE10[10];
|
|
BYTE BCD8[8];
|
|
} uStorage;
|
|
*/
|
|
SONUMBERUNION uStorage;
|
|
} SODATACELL, VWPTR * PSODATACELL;
|
|
|
|
typedef VOID FAR * SOFILE;
|
|
|
|
/* Bitmap graphics header */
|
|
typedef struct tagSOBITMAPHEADER
|
|
{
|
|
WORD wStructSize;
|
|
WORD wImageFlags;
|
|
WORD wImageWidth;
|
|
WORD wImageLength;
|
|
WORD wTileWidth;
|
|
WORD wTileLength;
|
|
WORD wBitsPerPixel;
|
|
WORD wNPlanes;
|
|
WORD wHDpi;
|
|
WORD wVDpi;
|
|
/**
|
|
WORD wEncoding;
|
|
WORD wImageLeft;
|
|
WORD wImageTop;
|
|
WORD wHScreenSize;
|
|
WORD wVScreenSize;
|
|
**/
|
|
} SOBITMAPHEADER, VWPTR * PSOBITMAPHEADER;
|
|
|
|
/*
|
|
| Structure defined for the DO special function for ARCHIVE formats
|
|
*/
|
|
|
|
typedef struct tagSODOSPECIALARC
|
|
{
|
|
SOFILE hOutFile;
|
|
HANDLE hFileName;
|
|
LPSTR lpFileName;
|
|
WORD wOptFlags;
|
|
WORD wRecordNum;
|
|
DWORD dwIndex;
|
|
} SODOSPECIALARC, VWPTR * PSODOSPECIALARC;
|
|
|
|
|
|
/*
|
|
|
|
|
| Embedded objects
|
|
|
|
|
*/
|
|
|
|
|
|
// Bit flags for the dwFlags field of the SOGRAPHIC structure
|
|
#define SO_MAINTAINASPECT 0x0001 // image aspect ratio is preserved
|
|
#define SO_CENTERIMAGE 0x0002 // if set, image is centered in its final rectangle.
|
|
|
|
// Bit flags for the dwType field of the SOGRAPHICOBJECT structure
|
|
#define SOOBJECT_GRAPHIC 0x0001
|
|
#define SOOBJECT_OLE 0x0002
|
|
#define SOOBJECT_GRAPHIC_AND_OLE 0x0003
|
|
#define SOOBJECT_OLE2 0x0004
|
|
#define SOOBJECT_GRAPHIC_AND_OLE2 0x0005
|
|
|
|
// Bit flags for the dwFlags field of the SOGRAPHICOBJECT structure
|
|
#define SOOBJECT_OLESTATIC 0x0001
|
|
#define SOOBJECT_GRAPHICISOLEACURATE 0x0002
|
|
|
|
//Bit Flags for dwFlags in the SOOBJECTLOC structure
|
|
#define SOOBJECT_LINK 0x0001
|
|
#define SOOBJECT_STORAGE 0x0002
|
|
#define SOOBJECT_RANGE 0x0004
|
|
|
|
typedef struct SOOBJECTLOCtag
|
|
{
|
|
DWORD dwFlags;
|
|
BYTE szFile[256];
|
|
BYTE szStorageObject[256];
|
|
DWORD dwOffset;
|
|
DWORD dwLength;
|
|
} SOOBJECTLOC, VWPTR * PSOOBJECTLOC;
|
|
|
|
typedef struct SOGRAPHICtag
|
|
{
|
|
WORD wId;
|
|
DWORD dwOrgHeight;
|
|
DWORD dwOrgWidth;
|
|
LONG lCropTop;
|
|
LONG lCropLeft;
|
|
LONG lCropBottom;
|
|
LONG lCropRight;
|
|
DWORD dwFinalHeight;
|
|
DWORD dwFinalWidth;
|
|
SOBORDER soLeftBorder;
|
|
SOBORDER soTopBorder;
|
|
SOBORDER soBottomBorder;
|
|
SOBORDER soRightBorder;
|
|
DWORD dwFlags;
|
|
} SOGRAPHIC, VWPTR * PSOGRAPHIC;
|
|
|
|
typedef struct SOGRAPHICOBJECTtag
|
|
{
|
|
WORD wStructSize;
|
|
DWORD dwFlags;
|
|
DWORD dwType;
|
|
SOGRAPHIC soGraphic;
|
|
SOOBJECTLOC soGraphicLoc;
|
|
SOOBJECTLOC soOLELoc;
|
|
} SOGRAPHICOBJECT, VWPTR * PSOGRAPHICOBJECT;
|
|
|
|
|
|
typedef struct SODOCPROPtag
|
|
{
|
|
DWORD dwPropertyId;
|
|
} SODOCPROP, VWPTR * PSODOCPROP;
|
|
|
|
typedef VOID FAR * PTAGINFO;
|
|
|
|
#define SO_DOCUMENTPROPERTY 1
|
|
|
|
#define SO_UNKNOWNTAG 0xFFFFFFFF
|
|
|
|
// Document properties
|
|
#define SO_DOCCOMMENT 1
|
|
#define SO_KEYWORD 2
|
|
#define SO_LASTSAVEDBY 3
|
|
#define SO_PRIMARYAUTHOR 4
|
|
#define SO_SUBJECT 5
|
|
#define SO_TITLE 6
|
|
|
|
|
|
|
|
#define SOPUTCHAR 1
|
|
#define SOPUTCHARX 2
|
|
#define SOPUTSPECIALCHARX 3
|
|
#define SOPUTCHARATTR 4
|
|
#define SOPUTCHARHEIGHT 5
|
|
#define SOPUTPARAALIGN 6
|
|
#define SOPUTPARAINDENTS 7
|
|
#define SOSTARTTABSTOPS 8
|
|
#define SOENDTABSTOPS 9
|
|
#define SOPUTTABSTOP 10
|
|
#define SOPUTMARGINS 11
|
|
#define SOPUTSUBDOCINFO 12
|
|
#define SOPUTBREAK 13
|
|
#define SOPUTDATACELL 14
|
|
#define SOPUTTEXTCELL 15
|
|
#define SOPUTMORETEXT 16
|
|
#define SOPUTFIELD 17
|
|
#define SOPUTVARFIELD 18
|
|
#define SOPUTMOREVARFIELD 19
|
|
#define SOSTARTCOLUMNINFO 20
|
|
#define SOSTARTFIELDINFO 21
|
|
#define SOPUTCOLUMNINFO 22
|
|
#define SOPUTFIELDINFO 23
|
|
#define SOENDCOLUMNINFO 24
|
|
#define SOENDFIELDINFO 25
|
|
#define SOPUTSECTIONTYPE 26
|
|
#define SOPUTSECTIONNAME 27
|
|
#define SOSETDATEBASE 28
|
|
#define SOBAILOUT 29
|
|
#define SOTAGBEGIN 30
|
|
#define SOTAGEND 31
|
|
#define SOGETINFO 32
|
|
#define SOPUTSTRING 33
|
|
#define SUUSERSAVEDATA 34
|
|
#define SUUSERRETRIEVEDATA 35
|
|
#define SOPUTBITMAPHEADER 36
|
|
#define SOSTARTPALETTE 37
|
|
#define SOPUTPALETTEENTRY 38
|
|
#define SOENDPALETTE 39
|
|
#define SOPUTSCANLINEDATA 40
|
|
#define SOSTARTFONTTABLE 41
|
|
#define SOPUTFONTTABLEENTRY 42
|
|
#define SOENDFONTTABLE 43
|
|
#define SOPUTCHARFONTBYID 44
|
|
#define SOPUTCHARFONTBYNAME 45
|
|
#define SOPUTPARASPACING 46
|
|
#define SOPUTARCHIVEFIELD 47
|
|
#define SOSTARTHDRINFO 48
|
|
#define SOENDHDRINFO 49
|
|
#define SOPUTHDRENTRY 50
|
|
#define SOPUTVECTORHEADER 51
|
|
#define SOVECTOROBJECT 52
|
|
#define SOVECTORATTR 53
|
|
#define SOBEGINTABLE 54
|
|
#define SOENDTABLE 55
|
|
#define SOPUTTABLEROWFORMAT 56
|
|
#define SOPUTTABLECELLINFO 57
|
|
#define SOPUTGRAPHICOBJECT 58
|
|
#define SOGOTOPOSITION 59
|
|
#define SODRAWLINE 60
|
|
#define SOCELLLAYOUTINFO 61
|
|
#define SOBEGINTAG 62
|
|
#define SOENDTAG 63
|
|
#define SOPUTLANGUAGE 64
|
|
|
|
/*
|
|
I know that this violates the intended structure, but OS/2 requires that the linkage type is
|
|
a modifier of the function. Therefore, the SO_ENTRYMOD define must occur between the
|
|
indirection * and the function name!!! Phil will continue to look into a general solution....
|
|
*/
|
|
#ifdef OS2
|
|
typedef struct SORTNStag
|
|
{
|
|
VOID (* SO_ENTRYMOD SOPutChar )(WORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutCharX )(WORD, WORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutSpecialCharX )(WORD, WORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutCharAttr )(WORD, WORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutCharHeight )(WORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutParaAlign )(WORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutParaIndents )(DWORD, DWORD, DWORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOStartTabStops )(DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndTabStops )(DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutTabStop )(PSOTAB, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutMargins )(DWORD, DWORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutSubdocInfo )(WORD, WORD, DWORD, DWORD);
|
|
WORD (* SO_ENTRYMOD SOPutBreak )(WORD, DWORD, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutTextCell )(PSOTEXTCELL,WORD,CHAR VWPTR *,WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutMoreText )(WORD,CHAR VWPTR *,WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutDataCell )(PSODATACELL,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutField )(VOID VWPTR *,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutVarField )(VOID VWPTR *,WORD,WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutMoreVarField )(VOID VWPTR *,WORD,WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOStartColumnInfo )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOStartFieldInfo )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutColumnInfo )(PSOCOLUMN,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutFieldInfo )(PSOFIELD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndColumnInfo )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndFieldInfo )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutSectionType )(WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutSectionName )(CHAR VWPTR *,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOSetDateBase )(DWORD,WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOBailOut )(WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOTagBegin )(DWORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOTagEnd )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOGetInfo )(WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutString )(LPSTR, WORD, DWORD, DWORD);
|
|
WORD (* SO_ENTRYMOD SUUserSaveData )(VOID VWPTR *,DWORD,DWORD);
|
|
WORD (* SO_ENTRYMOD SUUserRetrieveData)(WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutBitmapHeader )(PSOBITMAPHEADER, DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOStartPalette )(DWORD, DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutPaletteEntry )(CHAR,CHAR,CHAR,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndPalette )(DWORD,DWORD);
|
|
WORD (* SO_ENTRYMOD SOPutScanLineData )(VOID VWPTR *,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOStartFontTable )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutFontTableEntry)(DWORD,WORD,LPSTR,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndFontTable )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutCharFontById )(DWORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutCharFontByName)(WORD,LPSTR,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutParaSpacing )(WORD,DWORD,DWORD,DWORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutArchiveField )(WORD,WORD,LPSTR,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOStartHdrInfo )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndHdrInfo )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutHdrEntry )(LPSTR,LPSTR,WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutVectorHeader )(PSOVECTORHEADER,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOVectorObject )(SHORT,WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOVectorAttr )(SHORT,WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOBeginTable )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndTable )(DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutTableRowFormat)(LONG,WORD,WORD,WORD,WORD,WORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutTableCellInfo )(PSOTABLECELLINFO,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutGraphicObject )(PSOGRAPHICOBJECT,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOGoToPosition )(PSOPAGEPOSITION,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SODrawLine )(PSOPAGEPOSITION,SOCOLORREF,WORD,DWORD,DWORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOCellLayoutInfo )(PSOCELLLAYOUT,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOBeginTag) (DWORD,DWORD,PTAGINFO,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOEndTag) (DWORD,DWORD,DWORD,DWORD);
|
|
VOID (* SO_ENTRYMOD SOPutLanguage)(DWORD,DWORD,DWORD);
|
|
} SORTNS;
|
|
#else
|
|
typedef struct SORTNStag
|
|
{
|
|
VOID (SO_ENTRYMOD * SOPutChar )(WORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutCharX )(WORD, WORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutSpecialCharX )(WORD, WORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutCharAttr )(WORD, WORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutCharHeight )(WORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutParaAlign )(WORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutParaIndents )(DWORD, DWORD, DWORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOStartTabStops )(DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndTabStops )(DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutTabStop )(PSOTAB, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutMargins )(DWORD, DWORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutSubdocInfo )(WORD, WORD, DWORD, DWORD);
|
|
WORD (SO_ENTRYMOD * SOPutBreak )(WORD, DWORD, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutTextCell )(PSOTEXTCELL,WORD,CHAR VWPTR *,WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutMoreText )(WORD,CHAR VWPTR *,WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutDataCell )(PSODATACELL,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutField )(VOID VWPTR *,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutVarField )(VOID VWPTR *,WORD,WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutMoreVarField )(VOID VWPTR *,WORD,WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOStartColumnInfo )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOStartFieldInfo )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutColumnInfo )(PSOCOLUMN,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutFieldInfo )(PSOFIELD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndColumnInfo )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndFieldInfo )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutSectionType )(WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutSectionName )(CHAR VWPTR *,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOSetDateBase )(DWORD,WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOBailOut )(WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOTagBegin )(DWORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOTagEnd )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOGetInfo )(WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutString )(LPSTR, WORD, DWORD, DWORD);
|
|
WORD (SO_ENTRYMOD * SUUserSaveData )(VOID VWPTR *,DWORD,DWORD);
|
|
WORD (SO_ENTRYMOD * SUUserRetrieveData)(WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutBitmapHeader )(PSOBITMAPHEADER, DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOStartPalette )(DWORD, DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutPaletteEntry )(CHAR,CHAR,CHAR,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndPalette )(DWORD,DWORD);
|
|
WORD (SO_ENTRYMOD * SOPutScanLineData )(VOID VWPTR *,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOStartFontTable )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutFontTableEntry)(DWORD,WORD,LPSTR,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndFontTable )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutCharFontById )(DWORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutCharFontByName)(WORD,LPSTR,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutParaSpacing )(WORD,DWORD,DWORD,DWORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutArchiveField )(WORD,WORD,LPSTR,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOStartHdrInfo )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndHdrInfo )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutHdrEntry )(LPSTR,LPSTR,WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutVectorHeader )(PSOVECTORHEADER,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOVectorObject )(SHORT,WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOVectorAttr )(SHORT,WORD,VOID VWPTR *,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOBeginTable )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndTable )(DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutTableRowFormat)(LONG,WORD,WORD,WORD,WORD,WORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutTableCellInfo )(PSOTABLECELLINFO,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutGraphicObject )(PSOGRAPHICOBJECT,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOGoToPosition )(PSOPAGEPOSITION,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SODrawLine )(PSOPAGEPOSITION,SOCOLORREF,WORD,DWORD,DWORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOCellLayoutInfo)(PSOCELLLAYOUT,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOBeginTag)(DWORD,DWORD,PTAGINFO,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOEndTag)(DWORD,DWORD,DWORD,DWORD);
|
|
VOID (SO_ENTRYMOD * SOPutLanguage)(DWORD,DWORD,DWORD);
|
|
} SORTNS;
|
|
#endif /* OS/2 kludge for linkage type specifier */
|
|
|
|
#endif /*SO_DEFS.H*/
|
|
|