home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR13
/
INIFIL.ZIP
/
INIFILE.H
< prev
Wrap
C/C++ Source or Header
|
1993-10-13
|
4KB
|
141 lines
/*
Copyright (c) 1993, George Byrkit,
Software Professionals Limited
1809 Saxon Street
Ann Arbor, MI 48103
(313)-663-1009
ALL RIGHTS RESERVED
THIS FILE MAY BE INCLUDED ROYALTY-FREE in any program as long as the
above copyright notice also appears in the text of the program executable.
filename: inifile.h
purpose: emulate windows API functions to access the ini files
These functions are extracted from windows.h
instructions for building:
compile:
link:
other:
change log:
When Version Who Why
01-jan-93 1.0 ghb created
*/
#ifndef INIFILE_H
#define INIFILE_H
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
/******* Common definitions and typedefs ***********************************/
#define VOID void
#define FAR _far
#define NEAR _near
#define PASCAL _pascal
#define CDECL _cdecl
#define WINAPI _far _pascal
#define CALLBACK _far _pascal
/****** Simple types & common helper macros *********************************/
typedef int BOOL;
#define FALSE 0
#define TRUE 1
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef unsigned int UINT;
#ifdef STRICT
typedef signed long LONG;
#else
#define LONG long
#endif
#define LOBYTE(w) ((BYTE)(w))
#define HIBYTE(w) ((BYTE)((UINT)(w) >> 8))
#define LOWORD(l) ((WORD)(l))
#define HIWORD(l) ((WORD)((DWORD)(l) >> 16))
#define MAKELONG(low, high) ((LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))
#if !defined(NOMINMAX) && !defined(__cplusplus)
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
#endif /* NOMINMAX */
/* Types use for passing & returning polymorphic values */
typedef UINT WPARAM;
typedef LONG LPARAM;
typedef LONG LRESULT;
#define MAKELPARAM(low, high) ((LPARAM)MAKELONG(low, high))
#define MAKELRESULT(low, high) ((LRESULT)MAKELONG(low, high))
/****** Common pointer types ************************************************/
#ifndef NULL
#define NULL 0
#endif
typedef char NEAR* PSTR;
typedef char NEAR* NPSTR;
typedef char FAR* LPSTR;
typedef const char FAR* LPCSTR;
typedef BYTE NEAR* PBYTE;
typedef BYTE FAR* LPBYTE;
typedef int NEAR* PINT;
typedef int FAR* LPINT;
typedef WORD NEAR* PWORD;
typedef WORD FAR* LPWORD;
typedef long NEAR* PLONG;
typedef long FAR* LPLONG;
typedef DWORD NEAR* PDWORD;
typedef DWORD FAR* LPDWORD;
typedef void FAR* LPVOID;
#define MAKELP(sel, off) ((void FAR*)MAKELONG((off), (sel)))
#define SELECTOROF(lp) HIWORD(lp)
#define OFFSETOF(lp) LOWORD(lp)
#define FIELDOFFSET(type, field) ((int)(&((type NEAR*)1)->field)-1)
/* User Profile Routines */
UINT WINAPI GetProfileInt(LPCSTR, LPCSTR, int);
int WINAPI GetProfileString(LPCSTR, LPCSTR, LPCSTR, LPSTR, int);
BOOL WINAPI WriteProfileString(LPCSTR, LPCSTR, LPCSTR);
UINT WINAPI GetPrivateProfileInt(LPCSTR, LPCSTR, int, LPCSTR);
int WINAPI GetPrivateProfileString(LPCSTR, LPCSTR, LPCSTR, LPSTR, int, LPCSTR);
BOOL WINAPI WritePrivateProfileString(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
#ifdef __cplusplus
} /* End of extern "C" { */
#endif /* __cplusplus */
#endif // inifile.h