Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

137 lines
2.5 KiB

/*****************************************************************************\
*
* Name: llibcd.h
*
* Purpose: Definitions for DOS DLL LLIBCD source modules.
*
* Caveats: Memory model must be LARGE.
*
* Revision History:
* 4/18/91 - DavidSt - Created
*
\*****************************************************************************/
#ifndef LLIBCD_H_INCLUDED
#define LLIBCD_H_INCLUDED
typedef int BOOL;
#define FALSE 0
#define TRUE 1
#ifndef _VA_LIST_DEFINED
#include <stdarg.h>
#endif
/*
* ANSI definition of NULL
*/
#ifndef NULL
#define NULL ((void *)0)
#endif
/*
* Bytes-to-paragraphs conversion.
*/
#define BYTES_TO_PARAGRAPHS(p) ( ((p)+15) / 16 )
/*
* Support routines. Routines starting with dd_ are kindof internal. Others
* are (mostly) MSC runtime compatible.
*/
/*
* Some error codes returned by these functions.
*/
#ifndef NO_ERROR
#define NO_ERROR 0
#endif
#ifndef ERROR_FILE_NOT_FOUND
#define ERROR_FILE_NOT_FOUND 2
#endif
#ifndef ERROR_NOT_ENOUGH_MEMORY
#define ERROR_NOT_ENOUGH_MEMORY 8
#endif
#ifndef ERROR_PROC_NOT_FOUND
#define ERROR_PROC_NOT_FOUND 127
#endif
/*
* Some macros stolen from os2def.h and dos.h
*/
#ifndef MAKEP
#define MAKEP(seg, off) ((void *)MAKEULONG(off, seg))
#endif
#ifndef MAKEULONG
#define MAKEULONG(l, h) ((unsigned long)(((unsigned short)(l)) | \
((unsigned long)((unsigned short)(h))) << 16))
#endif
#ifndef FP_SEG
#define FP_SEG(fp) (*((unsigned _far *)&(fp)+1))
#endif
#ifndef FP_OFF
#define FP_OFF(fp) (*((unsigned _far *)&(fp)))
#endif
#ifndef MAXPATHLEN
#define MAXPATHLEN 260
#endif
/*
* Manipulate most and least significant words in an unsigned long.
*/
#define UL_MSW(ul) (*((unsigned _far *)&(ul)+1))
#define UL_LSW(ul) (*((unsigned _far *)&(ul)))
/*
* Max digits in signed word: 6 for '32767' + '-'
*/
#define SIGNED_WORD_MAX_DIGITS 6
/*
* 8 is length of ffffffff
*/
#define DWORD_MAX_HEX_DIGITS 8
/*
* The environment segment is located at offset 0x2c bytes from the start
* of the PSP.
*/
#define PSP_ENV_SEG_OFFSET 0x2c
/*
* _GetEnvInfo and _RemoveStringFromEnv are "worker" routines for getenv
* and putenv.
*/
unsigned short *_GetEnvInfo( const char *pszVarToFind,
char **ppFoundVar );
int _RemoveStringFromEnv( char far *pszFoundVar );
/*
* _OutputString does all the work for printf and sprintf.
*/
int _OutputString( char *pszOutBuf,
const char *pszFormat,
va_list vaArg );
#endif /* LLIBCD_H_INCLUDED */