diff options
| author | John Gilmore <gnu@toad.com> | 1995-03-29 02:12:14 +0000 |
|---|---|---|
| committer | John Gilmore <gnu@toad.com> | 1995-03-29 02:12:14 +0000 |
| commit | c2fb281de3dcbc03e65a33cbb05adaaef5b3f45a (patch) | |
| tree | e679b4874d52ef34eace0816bb210c074d4289ac /src/include/krb5/AddressXlation.h | |
| parent | 87acb0f2471655640df7aaaa07ef53f27bc02f62 (diff) | |
| download | krb5-c2fb281de3dcbc03e65a33cbb05adaaef5b3f45a.tar.gz krb5-c2fb281de3dcbc03e65a33cbb05adaaef5b3f45a.tar.xz krb5-c2fb281de3dcbc03e65a33cbb05adaaef5b3f45a.zip | |
* k5-errors.h: Rename errors.h (which duplicated a standard Mac
header name, causing a problem).
* AddressXlation.h, GetMyIPAddr.h, MacTCPCommonTypes.h, TCPPB.h,
UDPPB.h: Add MacTCP header files.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5293 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include/krb5/AddressXlation.h')
| -rw-r--r-- | src/include/krb5/AddressXlation.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/include/krb5/AddressXlation.h b/src/include/krb5/AddressXlation.h new file mode 100644 index 000000000..b73055b98 --- /dev/null +++ b/src/include/krb5/AddressXlation.h @@ -0,0 +1,102 @@ +/* + AddressXlation.h + MacTCP name to address translation routines. + + Copyright Apple Computer, Inc. 1988-91 + All rights reserved + +*/ +#ifndef __ADDRESSXLATION__ +#define __ADDRESSXLATION__ + +#ifndef __MACTCPCOMMONTYPES__ +#include "MacTCPCommonTypes.h" +#endif + +#define NUM_ALT_ADDRS 4 + +typedef struct hostInfo { + long rtnCode; + char cname[255]; + unsigned long addr[NUM_ALT_ADDRS]; +}; + +typedef enum AddrClasses { + A = 1, + NS, + CNAME = 5, + HINFO = 13, + MX = 15, + lastClass = 32767 +} AddrClasses; + +typedef struct HInfoRec { + char cpuType[30]; + char osType[30]; + }; + +typedef struct MXRec { + unsigned short preference; + char exchange[255]; + }; + +typedef struct returnRec { + long rtnCode; + char cname[255]; + union { + unsigned long addr[NUM_ALT_ADDRS]; + struct HInfoRec hinfo; + struct MXRec mx; + } rdata; +}; + +typedef struct cacheEntryRecord { + char *cname; + unsigned short type; + unsigned short cacheClass; + unsigned long ttl; + union { + char *name; + ip_addr addr; + } rdata; +}; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef THINK_C + + typedef ProcPtr EnumResultProcPtr; + typedef ProcPtr ResultProcPtr; + typedef ProcPtr ResultProc2Ptr; + +#else + + typedef pascal void (*EnumResultProcPtr)(struct cacheEntryRecord *cacheEntryRecordPtr, char *userDataPtr); + typedef pascal void (*ResultProcPtr)(struct hostInfo *hostInfoPtr, char *userDataPtr); + typedef pascal void (*ResultProc2Ptr)(struct returnRec *returnRecPtr, char *userDataPtr); + +#endif + +extern OSErr OpenResolver(char *fileName); + +extern OSErr StrToAddr(char *hostName, struct hostInfo *hostInfoPtr, ResultProcPtr ResultProc, char *userDataPtr); + +extern OSErr AddrToStr(unsigned long addr, char *addrStr); + +extern OSErr EnumCache(EnumResultProcPtr enumResultProc, char *userDataPtr); + +extern OSErr AddrToName(ip_addr addr, struct hostInfo *hostInfoPtr, ResultProcPtr 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 /* __ADDRESSXLATION__ */ |
