mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-07 23:51:21 -05:00
200 lines
5.4 KiB
C
200 lines
5.4 KiB
C
/*
|
|
File: AddressXlation.h
|
|
|
|
Copyright: © 1984-1993 by Apple Computer, Inc., all rights reserved.
|
|
|
|
WARNING
|
|
This file was auto generated by the interfacer tool. Modifications
|
|
must be made to the master file.
|
|
|
|
*/
|
|
|
|
#ifndef __ADDRESSXLATION__
|
|
#define __ADDRESSXLATION__
|
|
|
|
#ifndef __MACTCPCOMMONTYPES__
|
|
#include "MacTCPCommonTypes.h"
|
|
#endif
|
|
|
|
#define NUM_ALT_ADDRS 4
|
|
|
|
#if defined(powerc) || defined (__powerc)
|
|
#pragma options align=mac68k
|
|
#endif
|
|
struct hostInfo {
|
|
long rtnCode;
|
|
char cname[255];
|
|
unsigned long addr[NUM_ALT_ADDRS];
|
|
};
|
|
#if defined(powerc) || defined(__powerc)
|
|
#pragma options align=reset
|
|
#endif
|
|
|
|
typedef struct hostInfo hostInfo;
|
|
|
|
enum AddrClasses {
|
|
A = 1,
|
|
NS,
|
|
CNAME = 5,
|
|
HINFO = 13,
|
|
MX = 15,
|
|
lastClass = 32767
|
|
};
|
|
|
|
typedef enum AddrClasses AddrClasses;
|
|
|
|
#if defined(powerc) || defined (__powerc)
|
|
#pragma options align=mac68k
|
|
#endif
|
|
struct HInfoRec {
|
|
char cpuType[30];
|
|
char osType[30];
|
|
};
|
|
#if defined(powerc) || defined(__powerc)
|
|
#pragma options align=reset
|
|
#endif
|
|
|
|
typedef struct HInfoRec HInfoRec;
|
|
|
|
#if defined(powerc) || defined (__powerc)
|
|
#pragma options align=mac68k
|
|
#endif
|
|
struct MXRec {
|
|
unsigned short preference;
|
|
char exchange[255];
|
|
};
|
|
#if defined(powerc) || defined(__powerc)
|
|
#pragma options align=reset
|
|
#endif
|
|
|
|
typedef struct MXRec MXRec;
|
|
|
|
#if defined(powerc) || defined (__powerc)
|
|
#pragma options align=mac68k
|
|
#endif
|
|
struct returnRec {
|
|
long rtnCode;
|
|
char cname[255];
|
|
union {
|
|
unsigned long addr[NUM_ALT_ADDRS];
|
|
struct HInfoRec hinfo;
|
|
struct MXRec mx;
|
|
} rdata;
|
|
};
|
|
#if defined(powerc) || defined(__powerc)
|
|
#pragma options align=reset
|
|
#endif
|
|
|
|
typedef struct returnRec returnRec;
|
|
|
|
#if defined(powerc) || defined (__powerc)
|
|
#pragma options align=mac68k
|
|
#endif
|
|
struct cacheEntryRecord {
|
|
char *cname;
|
|
unsigned short type;
|
|
unsigned short cacheClass;
|
|
unsigned long ttl;
|
|
union {
|
|
char *name;
|
|
ip_addr addr;
|
|
} rdata;
|
|
};
|
|
#if defined(powerc) || defined(__powerc)
|
|
#pragma options align=reset
|
|
#endif
|
|
|
|
typedef struct cacheEntryRecord cacheEntryRecord;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef pascal void (*EnumResultProcPtr)(struct cacheEntryRecord *cacheEntryRecordPtr, char *userDataPtr);
|
|
|
|
enum {
|
|
uppEnumResultProcInfo = kPascalStackBased
|
|
| STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(struct cacheEntryRecord*)))
|
|
| STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char*)))
|
|
};
|
|
|
|
#if USESROUTINEDESCRIPTORS
|
|
typedef UniversalProcPtr EnumResultUPP;
|
|
|
|
#define CallEnumResultProc(userRoutine, cacheEntryRecordPtr, userDataPtr) \
|
|
CallUniversalProc((UniversalProcPtr)userRoutine, uppEnumResultProcInfo, cacheEntryRecordPtr, userDataPtr)
|
|
#define NewEnumResultProc(userRoutine) \
|
|
(EnumResultUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppEnumResultProcInfo, GetCurrentISA())
|
|
#else
|
|
typedef EnumResultProcPtr EnumResultUPP;
|
|
|
|
#define CallEnumResultProc(userRoutine, cacheEntryRecordPtr, userDataPtr) \
|
|
(*userRoutine)(cacheEntryRecordPtr, userDataPtr)
|
|
#define NewEnumResultProc(userRoutine) \
|
|
(EnumResultUPP)(userRoutine)
|
|
#endif
|
|
|
|
typedef pascal void (*ResultProcPtr)(struct hostInfo *hostInfoPtr, char *userDataPtr);
|
|
|
|
enum {
|
|
uppResultProcInfo = kPascalStackBased
|
|
| STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(struct hostInfo*)))
|
|
| STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char*)))
|
|
};
|
|
|
|
#if USESROUTINEDESCRIPTORS
|
|
typedef UniversalProcPtr ResultUPP;
|
|
|
|
#define CallResultProc(userRoutine, hostInfoPtr, userDataPtr) \
|
|
CallUniversalProc((UniversalProcPtr)userRoutine, uppResultProcInfo, hostInfoPtr, userDataPtr)
|
|
#define NewResultProc(userRoutine) \
|
|
(ResultUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppResultProcInfo, GetCurrentISA())
|
|
#else
|
|
typedef ResultProcPtr ResultUPP;
|
|
|
|
#define CallResultProc(userRoutine, hostInfoPtr, userDataPtr) \
|
|
(*userRoutine)(hostInfoPtr, userDataPtr)
|
|
#define NewResultProc(userRoutine) \
|
|
(ResultUPP)(userRoutine)
|
|
#endif
|
|
|
|
typedef pascal void (*ResultProc2ProcPtr)(struct returnRec *returnRecPtr, char *userDataPtr);
|
|
|
|
enum {
|
|
uppResultProc2ProcInfo = kPascalStackBased
|
|
| STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(struct returnRec*)))
|
|
| STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char*)))
|
|
};
|
|
|
|
#if USESROUTINEDESCRIPTORS
|
|
typedef UniversalProcPtr ResultProc2UPP;
|
|
|
|
#define CallResultProc2Proc(userRoutine, returnRecPtr, userDataPtr) \
|
|
CallUniversalProc((UniversalProcPtr)userRoutine, uppResultProc2ProcInfo, returnRecPtr, userDataPtr)
|
|
#define NewResultProc2Proc(userRoutine) \
|
|
(ResultProc2UPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppResultProc2ProcInfo, GetCurrentISA())
|
|
#else
|
|
typedef ResultProc2ProcPtr ResultProc2UPP;
|
|
|
|
#define CallResultProc2Proc(userRoutine, returnRecPtr, userDataPtr) \
|
|
(*userRoutine)(returnRecPtr, userDataPtr)
|
|
#define NewResultProc2Proc(userRoutine) \
|
|
(ResultProc2UPP)(userRoutine)
|
|
#endif
|
|
|
|
typedef ResultProc2ProcPtr ResultProc2Ptr;
|
|
|
|
extern OSErr OpenResolver(char *fileName);
|
|
extern OSErr StrToAddr(char *hostName, struct hostInfo *hostInfoPtr, ResultUPP ResultProc, char *userDataPtr);
|
|
extern OSErr AddrToStr(unsigned long addr, char *addrStr);
|
|
extern OSErr EnumCache(EnumResultUPP enumResultProc, char *userDataPtr);
|
|
extern OSErr AddrToName(ip_addr addr, struct hostInfo *hostInfoPtr, ResultUPP ResultProc, char *userDataPtr);
|
|
extern OSErr HInfo(char *hostName, struct returnRec *returnRecPtr, ResultProc2Ptr resultProc, char *userDataPtr);
|
|
extern OSErr MXInfo(char *hostName, struct returnRec *returnRecPtr, ResultProc2Ptr resultProc, char *userDataPtr);
|
|
extern OSErr CloseResolver(void);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|