Category : Windows 3.X Files
Archive   : PMAN151.ZIP
Filename : CUSTCONV.H

 
Output of file : CUSTCONV.H contained in archive : PMAN151.ZIP
#include

#ifndef CUSTOM_H
// Initialiation file
#define SRC_SECTION "Sources"
#define DST_SECTION "Destinations"

// Common entry points
#define MAGICPROC "Magic"
#define GETDESCRIPTIONPROC "GetDescription"
#define GETEXTENSIONPROC "GetExtension"
#define GETFLAGSPROC "GetFlags"
#define SETOPTIONSPROC "SetOptions"
#define CLEANUPPROC "CleanUp"

// Reader entry points
#define READHEADERPROC "ReadHeader"
#define READROWPROC "ReadRow"
#define READFILEPROC "ReadFile"

// Writer entry points
#define WRITEHEADERPROC "WriteHeader"
#define WRITEROWPROC "WriteRow"
#define WRITEFILEPROC "WriteFile"
#define ENDWRITEPROC "EndWrite"


// Color palette type
typedef BYTE PAL[3][256];
typedef BYTE * PPAL[256];
typedef BYTE FAR * LPPAL[256];

// I/I means INPUT parameter for both ReadHeader and WriteHeader
// O/I means OUTPUT parameter for ReadHeader and INPUT for WriteHeader
// O/O means OUTPUT parameter for both ReadHeader and WriteHeader

// Parameter block for ReadHeader / WriteHeader
typedef struct
{
OFSTRUCT of; // I/I Opened Source/Destination file
int file; // I/I --/--
WORD w; // O/I Width
WORD h; // O/I Height
WORD bps; // O/I 1,4,8 or 24
WORD numcolors; // O/I Actual number of colors/shades ( 0 for bps == 24 )
WORD nplanes; // O/O Number of bitplanes
WORD bplin; // O/O Bytes per one bitplane
DWORD xres; // O/I X Resolution
DWORD yres; // O/I Y Resolution
WORD resunit;// O/I Resolution unit (See below)
DWORD flags; // ??? Miscellaneous flags (See below)
PAL pal; // O/I Color palette
} INFO;

typedef INFO * PINFO;
typedef INFO FAR * LPINFO;

// Values for resunit
#define RES_UNKNOWN 0
#define RES_NOUNIT 1
#define RES_SCREEN 2
#define RES_DPI 3
#define RES_DPCM 4
#define RES_DPM 5

// Bits for INFO.flags
// Color info bits
#define INFO_COLOR 1l // O/I Image is colored
#define INFO_PALETTE 2l // O/I Image is paletted
#define INFO_NEGATIVE 4l // O/I Image is negative
// File organization bits
#define INFO_TEMPFILE 8l // O/O Only by temporary file
#define INFO_COMPRESSED 0x10l // O/O Image is compressed
#define INFO_FORWARD 0x20l // O/O Up to down
#define INFO_BACKWARD 0x40l // O/O Down to up
#define INFO_RANDOM 0x80l // O/O Random access is allowed
// Row organization bits
#define INFO_PACKED 0x100l // O/O (bps < 8) bits are shifted together
#define INFO_SEPARATE 0x200l // O/O (bps !=8) bitplanes are separated

// Bits for GetFlags()
// Destination capabilites bits
#define INFO_1BPS 0x400l // -/O Accepts 1-bit data
#define INFO_4BPS 0x800l // -/O Accepts 4-bit data
#define INFO_8BPS 0x1000l // -/O Accepts 8-bit data
#define INFO_24BPS 0x2000l // -/O Accepts 24-bit data
#define INFO_GRAY 0x4000l // -/O Accepts true gray data
#define INFO_STDPAL 0x8000l // -/O Requires std. EGA/VGA palette
#define INFO_ANYPAL 0x10000l// -/O Accepts any palette
// Source/Destination capabilites bits
#define INFO_HASOPTIONS 0x20000l// O/O Has SetOptions()
#define INFO_NOFILE 0x40000l// O/O Do not open src/dst file

// ALL OTHER BITS ARE RESERVED

// Return values for Magic
#define SRC_MAGIC 0x1234
#define DST_MAGIC 0x4321

// Common return values
#define OK 0
#define BADFORMAT 1 // Bad signature
#define UNSUPPORTED 2 // Unsupported subformat
#define BADFILE 3 // Error in file structure
#define CANNOTOPEN 4 // Cannot open src/dest
#define INTERNAL 5 // Reserved
#define BADDLL 6 // Error initializing DLL
#define BADREQUEST 7 // Unsupported type of conversion
#define BADTEMPFILE 8 // Error creating/reading tempfile
#define NOMEMORY 9 // No enough global heap
#define NODISK 10 // No enough disk space
#define USERABORT 11 // Cancelled by user
#define BADPARMS 12 // Conflicting parameters

WORD FAR PASCAL Magic(void);
void FAR PASCAL GetDescription(LPSTR);
void FAR PASCAL GetExtension(LPSTR);
DWORD FAR PASCAL GetFlags(void);
int FAR PASCAL SetOptions(HWND,void far *);
int FAR PASCAL GetPrivateSize(void);
void FAR PASCAL CleanUp(void far *);

int FAR PASCAL ReadHeader(LPINFO,void far * );
int FAR PASCAL ReadRow(int,LPBYTE,void far *);
int FAR PASCAL ReadFile(int, void far *, FARPROC);

int FAR PASCAL WriteHeader(LPINFO,void far * );
int FAR PASCAL WriteRow(int,LPBYTE,void far *);
int FAR PASCAL WriteFile(int,void far *, FARPROC);
int FAR PASCAL EndWrite(void far *);
#define CUSTOM_H
#endif


  3 Responses to “Category : Windows 3.X Files
Archive   : PMAN151.ZIP
Filename : CUSTCONV.H

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/