1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996 |
- {
- File: OSServices/OpenTransportProviders.h
-
- Contains: *** DEPRECATED *** This file contains provider-specific definitions for various built-in providers.
-
- Copyright: (c) 1993-2011 Apple Inc. and Mentat Inc. All rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://bugs.freepascal.org
-
- }
- { Pascal Translation Updated: Peter N Lewis, <[email protected]>, November 2005 }
- { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2009 }
- { Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
- {
- Modified for use with Free Pascal
- Version 308
- Please report any bugs to <[email protected]>
- }
- {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
- {$mode macpas}
- {$modeswitch cblocks}
- {$packenum 1}
- {$macro on}
- {$inline on}
- {$calling mwpascal}
- {$IFNDEF FPC_DOTTEDUNITS}
- unit OpenTransportProviders;
- {$ENDIF FPC_DOTTEDUNITS}
- interface
- {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
- {$setc GAP_INTERFACES_VERSION := $0308}
- {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
- {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
- {$endc}
- {$ifc defined CPUPOWERPC and defined CPUI386}
- {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
- {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
- {$endc}
- {$ifc not defined __ppc__ and defined CPUPOWERPC32}
- {$setc __ppc__ := 1}
- {$elsec}
- {$setc __ppc__ := 0}
- {$endc}
- {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
- {$setc __ppc64__ := 1}
- {$elsec}
- {$setc __ppc64__ := 0}
- {$endc}
- {$ifc not defined __i386__ and defined CPUI386}
- {$setc __i386__ := 1}
- {$elsec}
- {$setc __i386__ := 0}
- {$endc}
- {$ifc not defined __x86_64__ and defined CPUX86_64}
- {$setc __x86_64__ := 1}
- {$elsec}
- {$setc __x86_64__ := 0}
- {$endc}
- {$ifc not defined __arm__ and defined CPUARM}
- {$setc __arm__ := 1}
- {$elsec}
- {$setc __arm__ := 0}
- {$endc}
- {$ifc not defined __arm64__ and defined CPUAARCH64}
- {$setc __arm64__ := 1}
- {$elsec}
- {$setc __arm64__ := 0}
- {$endc}
- {$ifc defined cpu64}
- {$setc __LP64__ := 1}
- {$elsec}
- {$setc __LP64__ := 0}
- {$endc}
- {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
- {$error Conflicting definitions for __ppc__ and __i386__}
- {$endc}
- {$ifc defined __ppc__ and __ppc__}
- {$setc TARGET_CPU_PPC := TRUE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __ppc64__ and __ppc64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := TRUE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __i386__ and __i386__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := TRUE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$ifc defined iphonesim}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$endc}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __x86_64__ and __x86_64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := TRUE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$ifc defined iphonesim}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$endc}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __arm__ and __arm__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := TRUE}
- {$setc TARGET_CPU_ARM64 := FALSE}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := TRUE}
- {$elifc defined __arm64__ and __arm64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_CPU_ARM64 := TRUE}
- {$ifc defined ios}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_OS_EMBEDDED := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$endc}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$elsec}
- {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
- {$endc}
- {$ifc defined __LP64__ and __LP64__ }
- {$setc TARGET_CPU_64 := TRUE}
- {$elsec}
- {$setc TARGET_CPU_64 := FALSE}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := TRUE}
- {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
- {$elifc defined FPC_LITTLE_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := FALSE}
- {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
- {$elsec}
- {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
- {$endc}
- {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
- {$setc CALL_NOT_IN_CARBON := FALSE}
- {$setc OLDROUTINENAMES := FALSE}
- {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
- {$setc OPAQUE_UPP_TYPES := TRUE}
- {$setc OTCARBONAPPLICATION := TRUE}
- {$setc OTKERNEL := FALSE}
- {$setc PM_USE_SESSION_APIS := TRUE}
- {$setc TARGET_API_MAC_CARBON := TRUE}
- {$setc TARGET_API_MAC_OS8 := FALSE}
- {$setc TARGET_API_MAC_OSX := TRUE}
- {$setc TARGET_CARBON := TRUE}
- {$setc TARGET_CPU_68K := FALSE}
- {$setc TARGET_CPU_MIPS := FALSE}
- {$setc TARGET_CPU_SPARC := FALSE}
- {$setc TARGET_OS_UNIX := FALSE}
- {$setc TARGET_OS_WIN32 := FALSE}
- {$setc TARGET_RT_MAC_68881 := FALSE}
- {$setc TARGET_RT_MAC_CFM := FALSE}
- {$setc TARGET_RT_MAC_MACHO := TRUE}
- {$setc TYPED_FUNCTION_POINTERS := TRUE}
- {$setc TYPE_BOOL := FALSE}
- {$setc TYPE_EXTENDED := FALSE}
- {$setc TYPE_LONGLONG := TRUE}
- {$IFDEF FPC_DOTTEDUNITS}
- uses MacOsApi.MacTypes,MacOsApi.OpenTransport;
- {$ELSE FPC_DOTTEDUNITS}
- uses MacTypes,OpenTransport;
- {$ENDIF FPC_DOTTEDUNITS}
- {$endc} {not MACOSALLINCLUDE}
- { this header is only supported on Mac OS X < 10.4, and Mac OS X < 10.4 does
- not support i386
- }
- {$ifc TARGET_OS_MAC and TARGET_CPU_PPC}
- {$ALIGN MAC68K}
- {
- All OpenTransport Manager APIs are deprecated in MacOSX 10.4, instead of using OpenTransport,
- consider using CFNetwork or socket library.
- }
- { ***** TCP/IP *****}
- { Basic types}
- type
- InetPort = UInt16;
- InetHost = UInt32;
- { Enums used as address type designations.}
- const
- AF_INET = 2;
- const
- AF_DNS = 42;
- {
- Enum which can be used to bind to all IP interfaces
- rather than a specific one.
- }
- const
- kOTAnyInetAddress = 0; { Wildcard}
- {
- Define the InetSvcRef type. This type needs special
- processing because in C++ it's a subclass of TProvider.
- See the definition of TEndpointRef in "OpenTransport.h"
- for the logic behind this definition.
- }
- type
- InetSvcRef = ProviderRef; { an opaque type }
- InetSvcRefPtr = ^InetSvcRef;
- const
- kDefaultInternetServicesPath = -3;
- { Shared library prefixes}
- const
- kInetVersion = '3.1.1';
- const
- kInetPrefix = 'ot:inet$';
- { Module Names}
- const
- kDNRName = 'dnr';
- const
- kTCPName = 'tcp';
- const
- kUDPName = 'udp';
- const
- kRawIPName = 'rawip';
- { XTI Options}
- { Protocol levels}
- const
- INET_IP = $00;
- INET_TCP = $06;
- INET_UDP = $11;
- { TCP Level Options}
- const
- TCP_NODELAY = $01;
- TCP_MAXSEG = $02;
- TCP_NOTIFY_THRESHOLD = $10; {* not a real XTI option }
- TCP_ABORT_THRESHOLD = $11; {* not a real XTI option }
- TCP_CONN_NOTIFY_THRESHOLD = $12; {* not a real XTI option }
- TCP_CONN_ABORT_THRESHOLD = $13; {* not a real XTI option }
- TCP_OOBINLINE = $14; {* not a real XTI option }
- TCP_URGENT_PTR_TYPE = $15; {* not a real XTI option }
- TCP_KEEPALIVE = $0008; { keepalive defined in OpenTransport.h }
- const
- T_GARBAGE = 2;
- { UDP Level Options}
- const
- UDP_CHECKSUM = $0600;
- UDP_RX_ICMP = $02;
- { IP Level Options}
- const
- kIP_OPTIONS = $01;
- kIP_TOS = $02;
- kIP_TTL = $03;
- kIP_REUSEADDR = $04;
- kIP_DONTROUTE = $10;
- kIP_BROADCAST = $20;
- kIP_REUSEPORT = $0200;
- kIP_HDRINCL = $1002;
- kIP_RCVOPTS = $1005;
- kIP_RCVDSTADDR = $1007;
- kIP_MULTICAST_IF = $1010; { set/get IP multicast interface }
- kIP_MULTICAST_TTL = $1011; { set/get IP multicast timetolive }
- kIP_MULTICAST_LOOP = $1012; { set/get IP multicast loopback }
- kIP_ADD_MEMBERSHIP = $1013; { add an IP group membership }
- kIP_DROP_MEMBERSHIP = $1014; { drop an IP group membership }
- kIP_BROADCAST_IFNAME = $1015; { Set interface for broadcasts }
- kIP_RCVIFADDR = $1016; { Set interface for broadcasts }
- const
- IP_OPTIONS = 1;
- {
- BSD's netinet/in.h uses different values for the same IP_ logical constants.
- If you are using OT and want those values, prefix your use with k
- e.g. change IP_TTL to kIP_TTL in your source code
- }
- const
- DVMRP_INIT = 100; { DVMRP-specific setsockopt commands, from ip_mroute.h}
- DVMRP_DONE = 101;
- DVMRP_ADD_VIF = 102;
- DVMRP_DEL_VIF = 103;
- DVMRP_ADD_LGRP = 104;
- DVMRP_DEL_LGRP = 105;
- DVMRP_ADD_MRT = 106;
- DVMRP_DEL_MRT = 107;
- { IP_TOS precdence levels}
- const
- T_ROUTINE = 0;
- T_PRIORITY = 1;
- T_IMMEDIATE = 2;
- T_FLASH = 3;
- T_OVERRIDEFLASH = 4;
- T_CRITIC_ECP = 5;
- T_INETCONTROL = 6;
- T_NETCONTROL = 7;
- { IP_TOS type of service}
- const
- T_NOTOS = $00;
- T_LDELAY = 1 shl 4;
- T_HITHRPT = 1 shl 3;
- T_HIREL = 1 shl 2;
- // #define SET_TOS(prec,tos) (((0x7 & (prec)) << 5) | (0x1c & (tos)))
- { IP Multicast option structures}
- type
- TIPAddMulticastPtr = ^TIPAddMulticast;
- TIPAddMulticast = record
- multicastGroupAddress: InetHost;
- interfaceAddress: InetHost;
- end;
- { Protocol-specific events}
- const
- T_DNRSTRINGTOADDRCOMPLETE = kPRIVATEEVENT + 1;
- T_DNRADDRTONAMECOMPLETE = kPRIVATEEVENT + 2;
- T_DNRSYSINFOCOMPLETE = kPRIVATEEVENT + 3;
- T_DNRMAILEXCHANGECOMPLETE = kPRIVATEEVENT + 4;
- T_DNRQUERYCOMPLETE = kPRIVATEEVENT + 5;
- { InetAddress}
- type
- InetAddressPtr = ^InetAddress;
- InetAddress = record
- fAddressType: OTAddressType; { always AF_INET}
- fPort: InetPort; { Port number }
- fHost: InetHost; { Host address in net byte order}
- fUnused: packed array [0..7] of UInt8; { Traditional unused bytes }
- end;
- { Domain Name Resolver (DNR) }
- const
- kMaxHostAddrs = 10;
- kMaxSysStringLen = 32;
- kMaxHostNameLen = 255;
- type
- InetDomainName = packed array [0..255] of AnsiChar;
- InetHostInfoPtr = ^InetHostInfo;
- InetHostInfo = record
- name: InetDomainName;
- addrs: array [0..9] of InetHost;
- end;
- type
- InetSysInfoPtr = ^InetSysInfo;
- InetSysInfo = record
- cpuType: packed array [0..31] of AnsiChar;
- osType: packed array [0..31] of AnsiChar;
- end;
- type
- InetMailExchangePtr = ^InetMailExchange;
- InetMailExchange = record
- preference: UInt16;
- exchange: InetDomainName;
- end;
- type
- DNSQueryInfoPtr = ^DNSQueryInfo;
- DNSQueryInfo = record
- qType: UInt16;
- qClass: UInt16;
- ttl: UInt32;
- name: InetDomainName;
- responseType: UInt16; { answer, authority, or additional}
- resourceLen: UInt16; { actual length of array which follows}
- resourceData: packed array [0..3] of AnsiChar; { size varies}
- end;
- { DNSAddress}
- {
- The DNSAddress format is optional and may be used in connects,
- datagram sends, and resolve address calls. The name takes the
- format "somewhere.com" or "somewhere.com:portnumber" where
- the ":portnumber" is optional. The length of this structure
- is arbitrarily limited to the overall max length of a domain
- name (255 chars), although a longer one can be use successfully
- if you use this as a template for doing so. However, the domain name
- is still limited to 255 characters.
- }
- type
- DNSAddressPtr = ^DNSAddress;
- DNSAddress = record
- fAddressType: OTAddressType; { always AF_DNS}
- fName: InetDomainName;
- end;
- { InetInterfaceInfo}
- const
- kDefaultInetInterface = -1;
- const
- kInetInterfaceInfoVersion = 3;
- type
- InetInterfaceInfoPtr = ^InetInterfaceInfo;
- InetInterfaceInfo = record
- fAddress: InetHost;
- fNetmask: InetHost;
- fBroadcastAddr: InetHost;
- fDefaultGatewayAddr: InetHost;
- fDNSAddr: InetHost;
- fVersion: UInt16;
- fHWAddrLen: UInt16;
- fHWAddr: UInt8Ptr;
- fIfMTU: UInt32;
- fReservedPtrs: array [0..1] of Ptr;
- fDomainName: InetDomainName;
- fIPSecondaryCount: UInt32;
- fReserved: packed array [0..251] of UInt8;
- end;
- { InetDHCPOption}
- const
- kAllDHCPOptions = -1;
- kDHCPLongOption = 126;
- kDHCPLongOptionReq = 127;
- type
- InetDHCPOptionPtr = ^InetDHCPOption;
- InetDHCPOption = record
- fOptionTag: UInt8;
- fOptionLen: UInt8;
- fOptionValue: UInt8;
- pad: SInt8
- end;
- { TCP/IP Utility Routines}
- {$ifc not TARGET_CPU_64}
- {
- * OTInitInetAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- procedure OTInitInetAddress( var addr: InetAddress; port: InetPort; host: InetHost ); external name '_OTInitInetAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInitDNSAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInitDNSAddress( var addr: DNSAddress; str: CStringPtr ): OTByteCount; external name '_OTInitDNSAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetStringToHost() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetStringToHost( str: ConstCStringPtr; var host: InetHost ): OSStatus; external name '_OTInetStringToHost';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetHostToString() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- procedure OTInetHostToString( host: InetHost; str: CStringPtr ); external name '_OTInetHostToString';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetGetInterfaceInfo() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetGetInterfaceInfo( var info: InetInterfaceInfo; val: SInt32 ): OSStatus; external name '_OTInetGetInterfaceInfo';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetGetSecondaryAddresses() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetGetSecondaryAddresses( var addr: InetHost; var count: UInt32; val: SInt32 ): OSStatus; external name '_OTInetGetSecondaryAddresses';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {$endc} {not TARGET_CPU_64}
- {
- * OTInetGetDHCPConfigInfo()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- { InetServices & DNR Calls}
- {$ifc NOT OTKERNEL}
- {
- Under Carbon, OTOpenInternetServices routines take a client context pointer. Applications may pass NULL
- after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- }
- {$ifc not TARGET_CPU_64}
- {
- * OTOpenInternetServicesInContext() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTOpenInternetServicesInContext( cfig: OTConfigurationRef; oflag: OTOpenFlags; var err: OSStatus; clientContext: OTClientContextPtr ): InetSvcRef; external name '_OTOpenInternetServicesInContext';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTAsyncOpenInternetServicesInContext() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTAsyncOpenInternetServicesInContext( cfig: OTConfigurationRef; oflag: OTOpenFlags; upp: OTNotifyUPP; contextPtr: UnivPtr; clientContext: OTClientContextPtr ): OSStatus; external name '_OTAsyncOpenInternetServicesInContext';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {$endc} {not TARGET_CPU_64}
- {
- * OTOpenInternetServices()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- {
- * OTAsyncOpenInternetServices()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- { The following macro may be used by applications only.}
- // #define OTOpenInternetServices(cfig, oflags, err) OTOpenInternetServicesInContext(cfig, oflags, err, NULL)
- // #define OTAsyncOpenInternetServices(cfig, oflags, proc, contextPtr) OTAsyncOpenInternetServicesInContext(cfig, oflags, proc, contextPtr, NULL)
- {$ifc not TARGET_CPU_64}
- {
- * OTInetStringToAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetStringToAddress( ref: InetSvcRef; name: CStringPtr; var hinfo: InetHostInfo ): OSStatus; external name '_OTInetStringToAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetAddressToName() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetAddressToName( ref: InetSvcRef; addr: InetHost; var name: InetDomainName ): OSStatus; external name '_OTInetAddressToName';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetSysInfo() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetSysInfo( ref: InetSvcRef; name: CStringPtr; var sysinfo: InetSysInfo ): OSStatus; external name '_OTInetSysInfo';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetMailExchange() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetMailExchange( ref: InetSvcRef; name: CStringPtr; var num: UInt16; mx: InetMailExchangePtr ): OSStatus; external name '_OTInetMailExchange';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInetQuery() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInetQuery( ref: InetSvcRef; name: CStringPtr; qClass: UInt16; qType: UInt16; buf: CStringPtr; buflen: OTByteCount; var argv: UnivPtr; argvlen: OTByteCount; flags: OTFlags ): OSStatus; external name '_OTInetQuery';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {$endc} {not TARGET_CPU_64}
- {$endc} { !OTKERNEL }
- { ***** AppleTalk *****}
- { Shared library prefixes}
- const
- kATalkVersion = '1.1';
- const
- kATalkPrefix = 'ot:atlk$';
- const
- kATBinderID = 'ot:atbd$';
- {******************************************************************************
- ** Module definitions
- *******************************************************************************}
- { XTI Levels}
- const
- ATK_DDP = FourCharCode('DDP ');
- ATK_AARP = FourCharCode('AARP');
- ATK_ATP = FourCharCode('ATP ');
- ATK_ADSP = FourCharCode('ADSP');
- ATK_ASP = FourCharCode('ASP ');
- ATK_PAP = FourCharCode('PAP ');
- ATK_NBP = FourCharCode('NBP ');
- ATK_ZIP = FourCharCode('ZIP ');
- { Module Names}
- const
- kDDPName = 'ddp';
- const
- kATPName = 'atp';
- const
- kADSPName = 'adsp';
- const
- kASPName = 'asp';
- const
- kPAPName = 'pap';
- const
- kNBPName = 'nbp';
- const
- kZIPName = 'zip';
- const
- kLTalkName = 'ltlk';
- const
- kLTalkAName = 'ltlkA';
- const
- kLTalkBName = 'ltlkB';
- {
- Protocol-specific Options
- NOTE:
- All Protocols support OPT_CHECKSUM (Value is (unsigned long)T_YES/T_NO)
- ATP supports OPT_RETRYCNT (# Retries, 0 = try once) and
- OPT_INTERVAL (# Milliseconds to wait)
- }
- const
- DDP_OPT_HOPCOUNT = $2100; { DDP UnitDataReq Only - set hop count, Value is (unsigned long) hop count }
- const
- DDP_OPT_CHECKSUM = $0600;
- DDP_OPT_SRCADDR = $2101; { DDP UnitDataReq Only - set src address, Value is DDPAddress }
- ATP_OPT_REPLYCNT = $2110; { AppleTalk - ATP Resp Pkt Ct Type, Value is (unsigned long) pkt count }
- ATP_OPT_DATALEN = $2111; { AppleTalk - ATP Pkt Data Len Type, Value is (unsigned long) length }
- ATP_OPT_RELTIMER = $2112; { AppleTalk - ATP Release Timer Type, Value is (unsigned long) timer, (See Inside AppleTalk, second edition }
- ATP_OPT_TRANID = $2113; { Value is (unsigned long) Boolean, Used to request Transaction ID, Returned with Transaction ID on requests }
- PAP_OPT_OPENRETRY = $2120; { AppleTalk - PAP OpenConn Retry count, Value is (unsigned long) T_YES/T_NO }
- { Protocol-Specific Events}
- {
- If you send the IOCTL: OTIoctl(I_OTGetMiscellaneousEvents, 1),
- you will receive the T_ATALKxxx events on your endpoint.
- NOTE: The endpoint does not need to be bound.
- }
- const
- kAppleTalkEvent = kPROTOCOLEVENT or $00010000;
- T_GETMYZONECOMPLETE = kAppleTalkEvent + 1;
- T_GETLOCALZONESCOMPLETE = kAppleTalkEvent + 2;
- T_GETZONELISTCOMPLETE = kAppleTalkEvent + 3;
- T_GETATALKINFOCOMPLETE = kAppleTalkEvent + 4;
- T_ATALKROUTERDOWNEVENT = kAppleTalkEvent + 51; { No routers have been seen for a while. If the cookie is NULL, all routers are gone. Otherwise, there is still an ARA router hanging around being used, and only the local cable has been timed out.}
- T_ATALKROUTERUPEVENT = kAppleTalkEvent + 52; { We didn't have a router, but now one has come up. Cookie is NULL for a normal router coming up, non-NULL for an ARA router coming on-line}
- T_ATALKZONENAMECHANGEDEVENT = kAppleTalkEvent + 53; { A Zone name change was issued from the router, so our AppleTalk Zone has changed.}
- T_ATALKCONNECTIVITYCHANGEDEVENT = kAppleTalkEvent + 54; { An ARA connection was established (cookie != NULL), or was disconnected (cookie == NULL)}
- T_ATALKINTERNETAVAILABLEEVENT = kAppleTalkEvent + 55; { A router has appeared, and our address is in the startup range. Cookie is hi/lo of new cable range.}
- T_ATALKCABLERANGECHANGEDEVENT = kAppleTalkEvent + 56; { A router has appeared, and it's incompatible with our current address. Cookie is hi/lo of new cable range.}
- const
- T_ATALKBADROUTEREVENT = kAppleTalkEvent + 70; { A bad router has appeared/disappeared on our network.}
- T_ALLNODESTAKENEVENT = kAppleTalkEvent + 71;
- T_FIXEDNODETAKENEVENT = kAppleTalkEvent + 72;
- T_MPPCOMPATCFIGEVENT = kAppleTalkEvent + 73;
- T_FIXEDNODEBADEVENT = kAppleTalkEvent + 74;
- const
- kAllATalkRoutersDown = 0; { This indicates that all routers are offline}
- kLocalATalkRoutersDown = -1; { This indicates that all local routers went offline, but an ARA router is still active}
- kARARouterDisconnected = -2; { This indicates that ARA was disconnected, do it's router went offline, and we have no local routers to fall back onto.}
- const
- kARARouterOnline = -1; { We had no local routers, but an ARA router is now online.}
- kATalkRouterOnline = 0; { We had no routers, but a local router is now online}
- kLocalATalkRouterOnline = -2; { We have an ARA router, but now we've seen a local router as well}
- // #define IsAppleTalkEvent(x) ((x) & 0xffff0000) == kAppleTalkEvent)
- { Protocol-specific IOCTLs}
- const
- ATALK_IOC_FULLSELFSEND = $542F; { Turn on/off full self-send (it's automatic for non-backward-compatible links) }
- ADSP_IOC_FORWARDRESET = $543C; { ADSP Forward Reset }
- { Protocol-specific constants}
- { ECHO}
- const
- kECHO_TSDU = 585; { Max. # of data bytes.}
- { NBP}
- const
- kNBPMaxNameLength = 32;
- kNBPMaxTypeLength = 32;
- kNBPMaxZoneLength = 32;
- kNBPSlushLength = 9; { Extra space for @, : and a few escape chars}
- kNBPMaxEntityLength = kNBPMaxNameLength + kNBPMaxTypeLength + kNBPMaxZoneLength + 3;
- kNBPEntityBufferSize = kNBPMaxNameLength + kNBPMaxTypeLength + kNBPMaxZoneLength + kNBPSlushLength;
- kNBPWildCard = $3D; { NBP name and type match anything '='}
- kNBPImbeddedWildCard = $C5; { NBP name and type match some 'Å'}
- kNBPDefaultZone = $2A; { NBP default zone '*'}
- { ZIP}
- const
- kZIPMaxZoneLength = kNBPMaxZoneLength;
- const
- kDDPAddressLength = 8; { value to use in netbuf.len field, Maximum length of AppleTalk address}
- kNBPAddressLength = kNBPEntityBufferSize;
- kAppleTalkAddressLength = kDDPAddressLength + kNBPEntityBufferSize;
- // #define OTCopyDDPAddress(addr, dest) \
- // { \
- // ((UInt32*)(dest))[0] = ((UInt32*)(addr))[0]; \
- // ((UInt32*)(dest))[1] = ((UInt32*)(addr))[1]; \
- // }
- {******************************************************************************
- ** CLASS TAppleTalkServices
- *******************************************************************************}
- {$ifc NOT OTKERNEL}
- {
- Define the ATSvcRef type. This type needs special
- processing because in C++ it's a subclass of TProvider.
- See the definition of TEndpointRef in "OpenTransport.h"
- for the logic behind this definition.
- }
- type
- ATSvcRef = ^SInt32; { an opaque type }
- ATSvcRefPtr = ^ATSvcRef;
- const
- kDefaultAppleTalkServicesPath = -3;
- {
- Under Carbon, OpenAppleTalkServices routines take a client context pointer. Applications may pass NULL
- after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- }
- {$ifc not TARGET_CPU_64}
- {
- * OTAsyncOpenAppleTalkServicesInContext() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTAsyncOpenAppleTalkServicesInContext( cfig: OTConfigurationRef; flags: OTOpenFlags; proc: OTNotifyUPP; contextPtr: UnivPtr; clientContext: OTClientContextPtr ): OSStatus; external name '_OTAsyncOpenAppleTalkServicesInContext';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTOpenAppleTalkServicesInContext() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTOpenAppleTalkServicesInContext( cfig: OTConfigurationRef; flags: OTOpenFlags; var err: OSStatus; clientContext: OTClientContextPtr ): ATSvcRef; external name '_OTOpenAppleTalkServicesInContext';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {$endc} {not TARGET_CPU_64}
- {
- * OTAsyncOpenAppleTalkServices()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- {
- * OTOpenAppleTalkServices()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- { The following macro may be used by applications only.}
- // #define OTOpenAppleTalkServices(cfig, oflags, err) OTOpenAppleTalkServicesInContext(cfig, oflags, err, NULL)
- // #define OTAsyncOpenAppleTalkServices(cfig, oflags, proc, contextPtr) OTAsyncOpenAppleTalkServicesInContext(cfig, oflags, proc, contextPtr, NULL)
- { Get the zone associated with the ATSvcRef}
- {$ifc not TARGET_CPU_64}
- {
- * OTATalkGetMyZone() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: not available
- }
- function OTATalkGetMyZone( ref: ATSvcRef; var zone: TNetbuf ): OSStatus; external name '_OTATalkGetMyZone';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- Get the list of available zones associated with the local cable
- of the ATSvcRef
- }
- {
- * OTATalkGetLocalZones() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: not available
- }
- function OTATalkGetLocalZones( ref: ATSvcRef; var zones: TNetbuf ): OSStatus; external name '_OTATalkGetLocalZones';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Get the list of all zones on the internet specified by the ATSvcRef}
- {
- * OTATalkGetZoneList() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: not available
- }
- function OTATalkGetZoneList( ref: ATSvcRef; var zones: TNetbuf ): OSStatus; external name '_OTATalkGetZoneList';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Stores an AppleTalkInfo structure into the TNetbuf (see later in this file)}
- {
- * OTATalkGetInfo() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: not available
- }
- function OTATalkGetInfo( ref: ATSvcRef; var info: TNetbuf ): OSStatus; external name '_OTATalkGetInfo';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {$endc} {not TARGET_CPU_64}
- {$endc} { !OTKERNEL }
- { AppleTalk Addressing}
- {
- The NBPEntity structure is used to manipulate NBP names without regard
- to issues of what kind of "special" characters are in the name.
-
- When stored as an address in an NBPAddress or DDPNBPAddress, they are
- stored as a character string, which is currently just ASCII, but in the
- future may be UniChar, or some other internationalizable scripting set.
- The string following an NBPAddress or DDPNBPAddress is intended to be
- suitable for showing to users, whereas NBPEntity is not.
- WARNING: NBPAddress and DDPNBPAddress structures do not "know" the length
- of the address. That must have been obtained as part of a Lookup or
- ResolveAddress call.
- }
- const
- AF_ATALK_FAMILY = $0100;
- AF_ATALK_DDP = $0100;
- AF_ATALK_DDPNBP = AF_ATALK_FAMILY + 1;
- AF_ATALK_NBP = AF_ATALK_FAMILY + 2;
- AF_ATALK_MNODE = AF_ATALK_FAMILY + 3;
- type
- NBPEntityPtr = ^NBPEntity;
- NBPEntity = record
- fEntity: packed array [0..99] of UInt8; {one extra pad byte}
- end;
- type
- DDPAddressPtr = ^DDPAddress;
- DDPAddress = record
- fAddressType: OTAddressType; { One of the enums above}
- fNetwork: UInt16;
- fNodeID: UInt8;
- fSocket: UInt8;
- fDDPType: UInt8;
- fPad: UInt8;
- end;
- type
- NBPAddressPtr = ^NBPAddress;
- NBPAddress = record
- fAddressType: OTAddressType; { One of the enums above}
- fNBPNameBuffer: packed array [0..104] of UInt8;
- end;
- type
- DDPNBPAddressPtr = ^DDPNBPAddress;
- DDPNBPAddress = record
- fAddressType: OTAddressType; { One of the enums above}
- fNetwork: UInt16;
- fNodeID: UInt8;
- fSocket: UInt8;
- fDDPType: UInt8;
- fPad: UInt8;
- fNBPNameBuffer: packed array [0..104] of UInt8;
- end;
- { These are some utility routines for dealing with NBP and DDP addresses. }
- { Functions to initialize the various AppleTalk Address types}
- {$ifc not TARGET_CPU_64}
- {
- * OTInitDDPAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- procedure OTInitDDPAddress( var addr: DDPAddress; net: UInt16; node: ByteParameter; socket: ByteParameter; ddpType: ByteParameter ); external name '_OTInitDDPAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInitNBPAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInitNBPAddress( var addr: NBPAddress; name: ConstCStringPtr ): OTByteCount; external name '_OTInitNBPAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTInitDDPNBPAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTInitDDPNBPAddress( var addr: DDPNBPAddress; name: ConstCStringPtr; net: UInt16; node: ByteParameter; socket: ByteParameter; ddpType: ByteParameter ): OTByteCount; external name '_OTInitDDPNBPAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Compare 2 DDP addresses for equality}
- {
- * OTCompareDDPAddresses() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTCompareDDPAddresses( const (*var*) addr1: DDPAddress; const (*var*) addr2: DDPAddress ): Boolean; external name '_OTCompareDDPAddresses';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Init an NBPEntity to a NULL name}
- {
- * OTInitNBPEntity() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- procedure OTInitNBPEntity( var entity: NBPEntity ); external name '_OTInitNBPEntity';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Get the length an NBPEntity would have when stored as an address}
- {
- * OTGetNBPEntityLengthAsAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTGetNBPEntityLengthAsAddress( const (*var*) entity: NBPEntity ): OTByteCount; external name '_OTGetNBPEntityLengthAsAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Store an NBPEntity into an address buffer}
- {
- * OTSetAddressFromNBPEntity() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTSetAddressFromNBPEntity( nameBuf: UInt8Ptr; const (*var*) entity: NBPEntity ): OTByteCount; external name '_OTSetAddressFromNBPEntity';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Create an address buffer from a string (use -1 for len to use strlen)}
- {
- * OTSetAddressFromNBPString() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTSetAddressFromNBPString( addrBuf: UInt8Ptr; name: ConstCStringPtr; len: SInt32 ): OTByteCount; external name '_OTSetAddressFromNBPString';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- Create an NBPEntity from an address buffer. False is returned if
- the address was truncated.
- }
- {
- * OTSetNBPEntityFromAddress() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTSetNBPEntityFromAddress( var entity: NBPEntity; addrBuf: UInt8Ptr; len: OTByteCount ): Boolean; external name '_OTSetNBPEntityFromAddress';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Routines to set a piece of an NBP entity from a character string}
- {
- * OTSetNBPName() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTSetNBPName( var entity: NBPEntity; name: ConstCStringPtr ): Boolean; external name '_OTSetNBPName';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTSetNBPType() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTSetNBPType( var entity: NBPEntity; typeVal: ConstCStringPtr ): Boolean; external name '_OTSetNBPType';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTSetNBPZone() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- function OTSetNBPZone( var entity: NBPEntity; zone: ConstCStringPtr ): Boolean; external name '_OTSetNBPZone';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { Routines to extract pieces of an NBP entity}
- {
- * OTExtractNBPName() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- procedure OTExtractNBPName( const (*var*) entity: NBPEntity; name: CStringPtr ); external name '_OTExtractNBPName';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTExtractNBPType() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- procedure OTExtractNBPType( const (*var*) entity: NBPEntity; typeVal: CStringPtr ); external name '_OTExtractNBPType';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- {
- * OTExtractNBPZone() *** DEPRECATED ***
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: not available
- }
- procedure OTExtractNBPZone( const (*var*) entity: NBPEntity; zone: CStringPtr ); external name '_OTExtractNBPZone';
- (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_4,__IPHONE_NA,__IPHONE_NA) *)
- { AppleTalkInfo as used by the OTGetATalkInfo function}
- {$endc} {not TARGET_CPU_64}
- type
- AppleTalkInfoPtr = ^AppleTalkInfo;
- AppleTalkInfo = record
- fOurAddress: DDPAddress; { Our DDP address (network # & node)}
- fRouterAddress: DDPAddress; { The address of a router on our cable}
- fCableRange: array [0..1] of UInt16; { The current cable range }
- fFlags: UInt16; { See below}
- end;
- { For the fFlags field in AppleTalkInfo}
- const
- kATalkInfoIsExtended = $0001; { This is an extended (phase 2) network}
- kATalkInfoHasRouter = $0002; { This cable has a router}
- kATalkInfoOneZone = $0004; { This cable has only one zone}
- { ***** Ethernet *****}
- { Interface option flags}
- { Ethernet framing options}
- const
- kOTFramingEthernet = $01;
- kOTFramingEthernetIPX = $02;
- kOTFraming8023 = $04;
- kOTFraming8022 = $08;
- {
- These are obsolete and will be going away in OT 1.5.
- Hmmm, OT 1.5 got cancelled. The status of these options
- is uncertain.
- }
- { RawMode options}
- const
- kOTRawRcvOn = 0;
- kOTRawRcvOff = 1;
- kOTRawRcvOnWithTimeStamp = 2;
- const
- DL_PROMISC_OFF = 0; { OPT_SETPROMISCUOUS value}
- { Module definitions}
- { Module IDs}
- const
- kT8022ModuleID = 7100;
- kEnetModuleID = 7101;
- kTokenRingModuleID = 7102;
- kFDDIModuleID = 7103;
- { Module Names}
- const
- kEnet8022Name = 'enet8022x';
- const
- kEnetName = 'enet';
- const
- kFastEnetName = 'fenet';
- const
- kTokenRingName = 'tokn';
- const
- kFDDIName = 'fddi';
- const
- kIRTalkName = 'irtlk';
- const
- kSMDSName = 'smds';
- const
- kATMName = 'atm';
- const
- kT8022Name = 'tpi8022x';
- const
- kATMSNAPName = 'atmsnap';
- const
- kFireWireName = 'firewire';
- const
- kFibreChannelName = 'fibre';
- { Address Family}
- const
- AF_8022 = 8200; { Our 802.2 generic address family}
- { XTI Levels}
- const
- LNK_ENET = FourCharCode('ENET');
- LNK_TOKN = FourCharCode('TOKN');
- LNK_FDDI = FourCharCode('FDDI');
- LNK_TPI = FourCharCode('LTPI');
- { Options}
- const
- OPT_ADDMCAST = $1000;
- OPT_DELMCAST = $1001;
- OPT_RCVPACKETTYPE = $1002;
- OPT_RCVDESTADDR = $1003;
- OPT_SETRAWMODE = $1004;
- OPT_SETPROMISCUOUS = $1005;
- type
- OTPacketType = UInt32;
- const
- kETypeStandard = 0;
- kETypeMulticast = 1;
- kETypeBroadcast = 2;
- kETRawPacketBit = $80000000;
- kETTimeStampBit = $40000000;
- { Link related constants}
- const
- kMulticastLength = 6; { length of an ENET hardware addressaddress}
- k48BitAddrLength = 6;
- k8022DLSAPLength = 2; { The protocol type is our DLSAP}
- k8022SNAPLength = 5;
- kEnetAddressLength = k48BitAddrLength + k8022DLSAPLength; { length of an address field used by the ENET enpoint}
- { = k48BitAddrLength + sizeof(protocol type)}
- kSNAPSAP = $00AA; { Special DLSAPS for ENET}
- kIPXSAP = $00FF;
- kMax8022SAP = $00FE;
- k8022GlobalSAP = $00FF;
- kMinDIXSAP = 1501;
- kMaxDIXSAP = $FFFF;
- { Generic Address Structure}
- type
- T8022AddressPtr = ^T8022Address;
- T8022Address = record
- fAddrFamily: OTAddressType;
- fHWAddr: packed array [0..5] of UInt8;
- fSAP: UInt16;
- fSNAP: packed array [0..4] of UInt8;
- end;
- const
- k8022BasicAddressLength = SizeOf(OTAddressType) + k48BitAddrLength + sizeof(UInt16);
- k8022SNAPAddressLength = SizeOf(OTAddressType) + k48BitAddrLength + sizeof(UInt16) + k8022SNAPLength;
- { Some helpful stuff for dealing with 48 bit addresses}
- // #define OTCompare48BitAddresses(p1, p2) \
- // (*(const UInt32*)((const UInt8*)(p1)) == *(const UInt32*)((const UInt8*)(p2)) && \
- // *(const UInt16*)(((const UInt8*)(p1))+4) == *(const UInt16*)(((const UInt8*)(p2))+4) )
- //
- // #define OTCopy48BitAddress(p1, p2) \
- // (*(UInt32*)((UInt8*)(p2)) = *(const UInt32*)((const UInt8*)(p1)), \
- // *(UInt16*)(((UInt8*)(p2))+4) = *(const UInt16*)(((const UInt8*)(p1))+4) )
- //
- // #define OTClear48BitAddress(p1) \
- // (*(UInt32*)((UInt8*)(p1)) = 0, \
- // *(UInt16*)(((UInt8*)(p1))+4) = 0 )
- //
- // #define OTCompare8022SNAP(p1, p2) \
- // (*(const UInt32*)((const UInt8*)(p1)) == *(const UInt32*)((const UInt8*)(p2)) && \
- // *(((const UInt8*)(p1))+4) == *(((const UInt8*)(p2))+4) )
- //
- // #define OTCopy8022SNAP(p1, p2) \
- // (*(UInt32*)((UInt8*)(p2)) = *(const UInt32*)((const UInt8*)(p1)), \
- // *(((UInt8*)(p2))+4) = *(((const UInt8*)(p1))+4) )
- //
- // #define OTIs48BitBroadcastAddress(p1) \
- // (*(UInt32*)((UInt8*)(p1)) == 0xffffffff && \
- // *(UInt16*)(((UInt8*)(p1))+4) == 0xffff )
- //
- // #define OTSet48BitBroadcastAddress(p1) \
- // (*(UInt32*)((UInt8*)(p1)) = 0xffffffff, \
- // *(UInt16*)(((UInt8*)(p1))+4) = 0xffff )
- //
- // #define OTIs48BitZeroAddress(p1) \
- // (*(UInt32*)((UInt8*)(p1)) == 0 && \
- // *(UInt16*)(((UInt8*)(p1))+4) == 0 )
- { Link related constants}
- const
- kEnetPacketHeaderLength = (2 * k48BitAddrLength) + k8022DLSAPLength;
- kEnetTSDU = 1514; { The TSDU for ethernet.}
- kTokenRingTSDU = 4458; { The TSDU for TokenRing.}
- kFDDITSDU = 4458; { The TSDU for FDDI. }
- k8022SAPLength = 1;
- k8022BasicHeaderLength = 3; { define the length of the header portion of an 802.2 packet.}
- { = SSAP+DSAP+ControlByte}
- k8022SNAPHeaderLength = k8022SNAPLength + k8022BasicHeaderLength;
- {******************************************************************************
- ** Address Types recognized by the Enet DLPI
- *******************************************************************************}
- type
- EAddrType = UInt32;
- const
- keaStandardAddress = 0;
- keaMulticast = 1;
- keaBroadcast = 2;
- keaBadAddress = 3;
- keaRawPacketBit = $80000000;
- keaTimeStampBit = $40000000;
- { Packet Header Structures}
- type
- EnetPacketHeaderPtr = ^EnetPacketHeader;
- EnetPacketHeader = packed record
- fDestAddr: packed array [0..5] of UInt8;
- fSourceAddr: packed array [0..5] of UInt8;
- fProto: UInt16;
- end;
- type
- T8022HeaderPtr = ^T8022Header;
- T8022Header = record
- fDSAP: UInt8;
- fSSAP: UInt8;
- fCtrl: UInt8;
- pad: SInt8
- end;
- type
- T8022SNAPHeaderPtr = ^T8022SNAPHeader;
- T8022SNAPHeader = record
- fDSAP: UInt8;
- fSSAP: UInt8;
- fCtrl: UInt8;
- fSNAP0: UInt8;
- fSNAP1: UInt8;
- fSNAP2: UInt8;
- fSNAP3: UInt8;
- fSNAP4: UInt8;
- end;
- type
- T8022FullPacketHeaderPtr = ^T8022FullPacketHeader;
- T8022FullPacketHeader = record
- fEnetPart: EnetPacketHeader;
- f8022Part: T8022SNAPHeader;
- end;
- { Define the lengths of the structures above}
- const
- kT8022HeaderLength = 3;
- kT8022SNAPHeaderLength = 3 + k8022SNAPLength;
- kT8022FullPacketHeaderLength = kEnetPacketHeaderLength + kT8022SNAPHeaderLength;
- { ***** Serial *****}
- { Module Definitions}
- { XTI Level}
- const
- COM_SERIAL = FourCharCode('SERL');
- { Version Number}
- const
- kSerialABVersion = '1.1.1';
- { Module Names}
- const
- kSerialABName = 'serialAB';
- const
- kSerialName = 'serial';
- const
- kSerialPortAName = 'serialA';
- const
- kSerialPortBName = 'serialB';
- const
- kSerialABModuleID = 7200;
- const
- kOTSerialFramingAsync = $01; { Support Async serial mode }
- kOTSerialFramingHDLC = $02; { Support HDLC synchronous serial mode }
- kOTSerialFramingSDLC = $04; { Support SDLC synchronous serial mode }
- kOTSerialFramingAsyncPackets = $08; { Support Async "packet" serial mode }
- kOTSerialFramingPPP = $10; { Port does its own PPP framing - wants unframed packets from PPP }
- { IOCTL Calls for Serial Drivers}
- const
- I_SetSerialDTR = $5500; { Set DTR (0 = off, 1 = on) }
- kOTSerialSetDTROff = 0;
- kOTSerialSetDTROn = 1;
- I_SetSerialBreak = $5501; { Send a break on the line - kOTSerialSetBreakOff = off, kOTSerialSetBreakOn = on,}
- { Any other number is the number of milliseconds to leave break on, then}
- { auto shutoff}
- kOTSerialSetBreakOn = $FFFFFFFF;
- kOTSerialSetBreakOff = 0;
- I_SetSerialXOffState = $5502; { Force XOFF state - 0 = Unconditionally clear XOFF state, 1 = unconditionally set it}
- kOTSerialForceXOffTrue = 1;
- kOTSerialForceXOffFalse = 0;
- I_SetSerialXOn = $5503; { Send an XON character, 0 = send only if in XOFF state, 1 = send always}
- kOTSerialSendXOnAlways = 1;
- kOTSerialSendXOnIfXOffTrue = 0;
- I_SetSerialXOff = $5504; { Send an XOFF character, 0 = send only if in XON state, 1 = send always}
- kOTSerialSendXOffAlways = 1;
- kOTSerialSendXOffIfXOnTrue = 0;
- { Option Management for Serial Drivers}
- {
- These options are all 4-byte values.
- BaudRate is the baud rate.
- DataBits is the number of data bits.
- StopBits is the number of stop bits times 10.
- Parity is an enum
- }
- const
- SERIAL_OPT_BAUDRATE = $0100; { UInt32 }
- SERIAL_OPT_DATABITS = $0101; { UInt32 }
- SERIAL_OPT_STOPBITS = $0102; { UInt32 10, 15 or 20 for 1, 1.5 or 2 }
- SERIAL_OPT_PARITY = $0103; { UInt32 }
- SERIAL_OPT_STATUS = $0104; { UInt32 }
- { The "Status" option is a 4-byte value option that is ReadOnly}
- { It returns a bitmap of the current serial status}
- SERIAL_OPT_HANDSHAKE = $0105; { UInt32 }
- { The "Handshake" option defines what kind of handshaking the serial port}
- { will do for line flow control. The value is a 32-bit value defined by}
- { the function or macro SerialHandshakeData below.}
- { For no handshake, or CTS handshake, the onChar and offChar parameters}
- { are ignored.}
- SERIAL_OPT_RCVTIMEOUT = $0106; { The "RcvTimeout" option defines how long the receiver should wait before delivering}
- { less than the RcvLoWat number of characters. If RcvLoWat is 0, then the RcvTimeout}
- { is how long a gap to wait for before delivering characters. This parameter is advisory,}
- { and serial drivers are free to deliver data whenever they deem it convenient. For instance,}
- { many serial drivers will deliver data whenever 64 bytes have been received, since 64 bytes}
- { is the smallest STREAMS buffer size. Keep in mind that timeouts are quantized, so be sure to}
- { look at the return value of the option to determine what it was negotiated to.}
- SERIAL_OPT_ERRORCHARACTER = $0107; { This option defines how characters with parity errors are handled.}
- { A 0 value will disable all replacement. A single character value in the low}
- { byte designates the replacement character. When characters are received with a }
- { parity error, they are replaced by this specified character. If a valid incoming}
- { character matches the replacement character, then the received character's msb is}
- { cleared. For this situation, the alternate character is used, if specified in bits}
- { 8 through 15 of the option long, with 0xff being place in bits 16 through 23.}
- { Whenever a valid character is received that matches the first replacement character,}
- { it is replaced with this alternate character.}
- SERIAL_OPT_EXTCLOCK = $0108; { The "ExtClock" requests an external clock. A 0-value turns off external clocking.}
- { Any other value is a requested divisor for the external clock. Be aware that}
- { not all serial implementations support an external clock, and that not all}
- { requested divisors will be supported if it does support an external clock.}
- SERIAL_OPT_BURSTMODE = $0109; { The "BurstMode" option informs the serial driver that it should continue looping,}
- { reading incoming characters, rather than waiting for an interrupt for each character.}
- { This option may not be supported by all Serial driver}
- SERIAL_OPT_DUMMY = $010A; { placeholder}
- type
- ParityOptionValues = UInt32;
- const
- kOTSerialNoParity = 0;
- kOTSerialOddParity = 1;
- kOTSerialEvenParity = 2;
- const
- kOTSerialSwOverRunErr = $01;
- kOTSerialBreakOn = $08;
- kOTSerialParityErr = $10;
- kOTSerialOverrunErr = $20;
- kOTSerialFramingErr = $40;
- kOTSerialXOffSent = $00010000;
- kOTSerialDTRNegated = $00020000;
- kOTSerialCTLHold = $00040000;
- kOTSerialXOffHold = $00080000;
- kOTSerialOutputBreakOn = $01000000;
- const
- kOTSerialXOnOffInputHandshake = 1; { Want XOn/XOff handshake for incoming characters }
- kOTSerialXOnOffOutputHandshake = 2; { Want XOn/XOff handshake for outgoing characters }
- kOTSerialCTSInputHandshake = 4; { Want CTS handshake for incoming characters }
- kOTSerialDTROutputHandshake = 8; { Want DTR handshake for outoing characters }
- // #define OTSerialHandshakeData(type, onChar, offChar) \
- // ((((UInt32)type) << 16) | (((UInt32)onChar) << 8) | offChar)
- //
- // #define OTSerialSetErrorCharacter(rep) \
- // ((rep) & 0xff)
- //
- // #define OTSerialSetErrorCharacterWithAlternate(rep, alternate) \
- // ((((rep) & 0xff) | (((alternate) & 0xff) << 8)) | 0x80000000L)
- { Default attributes for the serial ports}
- const
- kOTSerialDefaultBaudRate = 19200;
- kOTSerialDefaultDataBits = 8;
- kOTSerialDefaultStopBits = 10;
- kOTSerialDefaultParity = kOTSerialNoParity;
- kOTSerialDefaultHandshake = 0;
- kOTSerialDefaultOnChar = 17;
- kOTSerialDefaultOffChar = 19;
- kOTSerialDefaultSndBufSize = 1024;
- kOTSerialDefaultRcvBufSize = 1024;
- kOTSerialDefaultSndLoWat = 96;
- kOTSerialDefaultRcvLoWat = 1;
- kOTSerialDefaultRcvTimeout = 10;
- { ***** ISDN *****}
- { Module Definitions}
- { XTI Level}
- const
- COM_ISDN = FourCharCode('ISDN');
- { Module Names}
- const
- kISDNName = 'isdn';
- const
- kISDNModuleID = 7300;
- { ISDN framing methods, set using the I_OTSetFramingType IOCTL}
- const
- kOTISDNFramingTransparentSupported = $0010; { Support Transparent mode }
- kOTISDNFramingHDLCSupported = $0020; { Support HDLC Synchronous mode }
- kOTISDNFramingV110Supported = $0040; { Support V.110 Asynchronous mode }
- kOTISDNFramingV14ESupported = $0080; { Support V.14 Asynchronous mode }
- { Miscellaneous equates}
- { Disconnect reason codes (from Q.931)}
- const
- kOTISDNUnallocatedNumber = 1;
- kOTISDNNoRouteToSpecifiedTransitNetwork = 2;
- kOTISDNNoRouteToDestination = 3;
- kOTISDNChannelUnacceptable = 6;
- kOTISDNNormal = 16;
- kOTISDNUserBusy = 17;
- kOTISDNNoUserResponding = 18;
- kOTISDNNoAnswerFromUser = 19;
- kOTISDNCallRejected = 21;
- kOTISDNNumberChanged = 22;
- kOTISDNNonSelectedUserClearing = 26;
- kOTISDNDestinationOutOfOrder = 27;
- kOTISDNInvalidNumberFormat = 28;
- kOTISDNFacilityRejected = 29;
- kOTISDNNormalUnspecified = 31;
- kOTISDNNoCircuitChannelAvailable = 34;
- kOTISDNNetworkOutOfOrder = 41;
- kOTISDNSwitchingEquipmentCongestion = 42;
- kOTISDNAccessInformationDiscarded = 43;
- kOTISDNRequestedCircuitChannelNotAvailable = 44;
- kOTISDNResourceUnavailableUnspecified = 45;
- kOTISDNQualityOfServiceUnvailable = 49;
- kOTISDNRequestedFacilityNotSubscribed = 50;
- kOTISDNBearerCapabilityNotAuthorized = 57;
- kOTISDNBearerCapabilityNotPresentlyAvailable = 58;
- kOTISDNCallRestricted = 59;
- kOTISDNServiceOrOptionNotAvilableUnspecified = 63;
- kOTISDNBearerCapabilityNotImplemented = 65;
- kOTISDNRequestedFacilityNotImplemented = 69;
- kOTISDNOnlyRestrictedDigitalBearer = 70;
- kOTISDNServiceOrOptionNotImplementedUnspecified = 79;
- kOTISDNCallIdentityNotUsed = 83;
- kOTISDNCallIdentityInUse = 84;
- kOTISDNNoCallSuspended = 85;
- kOTISDNCallIdentityCleared = 86;
- kOTISDNIncompatibleDestination = 88;
- kOTISDNInvalidTransitNetworkSelection = 91;
- kOTISDNInvalidMessageUnspecified = 95;
- kOTISDNMandatoryInformationElementIsMissing = 96;
- kOTISDNMessageTypeNonExistentOrNotImplemented = 97;
- kOTISDNInterworkingUnspecified = 127;
- { OTISDNAddress}
- {
- The OTISDNAddress has the following format:
- "xxxxxx*yy"
- where 'x' is the phone number and 'y' is the sub address (if available
- in the network. The characters are coded in ASCII (IA5), and valid
- characters are: '0'-'9','#','*'.
- The max length of the each phone number is 21 characters (?) and the max
- subaddress length is network dependent.
- When using bonded channels the phone numbers are separated by '&'.
- The X.25 user data is preceded by '@'.
- }
- const
- kAF_ISDN = $2000;
- { BSD value for AF_ISDN conflicts, so OT Carbon clients must use kAF_ISDN}
- const
- kOTISDNMaxPhoneSize = 32;
- kOTISDNMaxSubSize = 4;
- type
- OTISDNAddressPtr = ^OTISDNAddress;
- OTISDNAddress = record
- fAddressType: OTAddressType;
- fPhoneLength: UInt16;
- fPhoneNumber: packed array [0..36] of AnsiChar;
- end;
- { IOCTL Calls for ISDN}
- { ISDN shares the same ioctl space as serial.}
- const
- MIOC_ISDN = 85; { ISDN ioctl() cmds }
- I_OTISDNAlerting = $5564; { Send or receive an ALERTING message }
- I_OTISDNSuspend = $5565; { Send a SUSPEND message }
- { The parameter is the Call Identity (Maximum 8 octets) }
- I_OTISDNSuspendAcknowledge = $5566; { Receive a SUSPEND ACKNOWLEDGE message }
- I_OTISDNSuspendReject = $5567; { Receive a SUSPEND REJECT message }
- I_OTISDNResume = $5568; { Send a RESUME message }
- { The parameter is the Call Identity (Maximum 8 octets) }
- I_OTISDNResumeAcknowledge = $5569; { Receive a RESUME ACKNOWLEDGE message }
- I_OTISDNResumeReject = $556A; { Receive a RESUME REJECT message }
- I_OTISDNFaciltity = $556B; { Send or receive a FACILITY message }
- { Connect user data size }
- kOTISDNMaxUserDataSize = 32;
- { Option management calls for ISDN}
- const
- ISDN_OPT_COMMTYPE = $0200;
- ISDN_OPT_FRAMINGTYPE = $0201;
- ISDN_OPT_56KADAPTATION = $0202;
- { For ISDN_OPT_COMMTYPE...}
- const
- kOTISDNTelephoneALaw = 1; { G.711 A-law }
- kOTISDNTelephoneMuLaw = 26; { G.711 µ-law }
- kOTISDNDigital64k = 13; { unrestricted digital (default) }
- kOTISDNDigital56k = 37; { user rate 56Kb/s }
- kOTISDNVideo64k = 41; { video terminal at 64Kb/s }
- kOTISDNVideo56k = 42; { video terminal at 56Kb/s }
- { For ISDN_OPT_FRAMINGTYPE...}
- const
- kOTISDNFramingTransparent = $0010; { Transparent mode }
- kOTISDNFramingHDLC = $0020; { HDLC synchronous mode (default) }
- kOTISDNFramingV110 = $0040; { V.110 asynchronous mode }
- kOTISDNFramingV14E = $0080; { V.14E asynchronous mode }
- { For ISDN_OPT_56KADAPTATION...}
- const
- kOTISDNNot56KAdaptation = false; { not 56K Adaptation (default) }
- kOTISDN56KAdaptation = true; { 56K Adaptation }
- { Default options, you do not need to set these}
- const
- kOTISDNDefaultCommType = kOTISDNDigital64k;
- kOTISDNDefaultFramingType = kOTISDNFramingHDLC;
- kOTISDNDefault56KAdaptation = kOTISDNNot56KAdaptation;
- {******************************************************************************
- * Constants for Open Transport-based Remote Access/PPP API
- *******************************************************************************}
- { OTCreateConfiguration name for PPP control endpoint}
- const
- kPPPControlName = 'ppp';
- { XTI Level}
- const
- COM_PPP = FourCharCode('PPPC');
- { Options limits}
- const
- kPPPMaxIDLength = 255;
- kPPPMaxPasswordLength = 255;
- kPPPMaxDTEAddressLength = 127;
- kPPPMaxCallInfoLength = 255;
- { Various XTI option value constants}
- const
- kPPPStateInitial = 1;
- kPPPStateClosed = 2;
- kPPPStateClosing = 3;
- kPPPStateOpening = 4;
- kPPPStateOpened = 5;
- const
- kPPPConnectionStatusIdle = 1;
- kPPPConnectionStatusConnecting = 2;
- kPPPConnectionStatusConnected = 3;
- kPPPConnectionStatusDisconnecting = 4;
- const
- kPPPMinMRU = 0;
- kPPPMaxMRU = 4500;
- const
- kIPCPTCPHdrCompressionDisabled = 0;
- kIPCPTCPHdrCompressionEnabled = 1;
- const
- kPPPCompressionDisabled = $00000000;
- kPPPProtoCompression = $00000001;
- kPPPAddrCompression = $00000002;
- const
- kPPPNoOutAuthentication = 0;
- kPPPCHAPOrPAPOutAuthentication = 1;
- const
- kCCReminderTimerDisabled = 0;
- kCCIPIdleTimerDisabled = 0;
- const
- kPPPScriptTypeModem = 1;
- kPPPScriptTypeConnect = 2;
- kPPPMaxScriptSize = 32000;
- const
- kE164Address = 1;
- kPhoneAddress = 1;
- kCompoundPhoneAddress = 2;
- kX121Address = 3;
- const
- kPPPConnectionStatusDialogsFlag = $00000001;
- kPPPConnectionRemindersFlag = $00000002;
- kPPPConnectionFlashingIconFlag = $00000004;
- kPPPOutPasswordDialogsFlag = $00000008;
- kPPPAllAlertsDisabledFlag = $00000000;
- kPPPAllAlertsEnabledFlag = $0000000F;
- const
- kPPPAsyncMapCharsNone = $00000000;
- kPPPAsyncMapCharsXOnXOff = $000A0000;
- kPPPAsyncMapCharsAll = $FFFFFFFF;
- { Option names}
- const
- IPCP_OPT_GETREMOTEPROTOADDR = $00007000;
- IPCP_OPT_GETLOCALPROTOADDR = $00007001;
- IPCP_OPT_TCPHDRCOMPRESSION = $00007002;
- LCP_OPT_PPPCOMPRESSION = $00007003;
- LCP_OPT_MRU = $00007004;
- LCP_OPT_RCACCMAP = $00007005;
- LCP_OPT_TXACCMAP = $00007006;
- SEC_OPT_OUTAUTHENTICATION = $00007007;
- SEC_OPT_ID = $00007008;
- SEC_OPT_PASSWORD = $00007009;
- CC_OPT_REMINDERTIMER = $00007010;
- CC_OPT_IPIDLETIMER = $00007011;
- CC_OPT_DTEADDRESSTYPE = $00007012;
- CC_OPT_DTEADDRESS = $00007013;
- CC_OPT_CALLINFO = $00007014;
- CC_OPT_GETMISCINFO = $00007015;
- PPP_OPT_GETCURRENTSTATE = $00007016;
- LCP_OPT_ECHO = $00007017; { Available on Mac OS X only }
- CC_OPT_SERIALPORTNAME = $00007200;
- { Endpoint events}
- const
- kPPPEvent = kPROTOCOLEVENT or $000F0000;
- kPPPConnectCompleteEvent = kPPPEvent + 1;
- kPPPSetScriptCompleteEvent = kPPPEvent + 2;
- kPPPDisconnectCompleteEvent = kPPPEvent + 3;
- kPPPDisconnectEvent = kPPPEvent + 4;
- kPPPIPCPUpEvent = kPPPEvent + 5;
- kPPPIPCPDownEvent = kPPPEvent + 6;
- kPPPLCPUpEvent = kPPPEvent + 7;
- kPPPLCPDownEvent = kPPPEvent + 8;
- kPPPLowerLayerUpEvent = kPPPEvent + 9;
- kPPPLowerLayerDownEvent = kPPPEvent + 10;
- kPPPAuthenticationStartedEvent = kPPPEvent + 11;
- kPPPAuthenticationFinishedEvent = kPPPEvent + 12;
- kPPPDCEInitStartedEvent = kPPPEvent + 13;
- kPPPDCEInitFinishedEvent = kPPPEvent + 14;
- kPPPDCECallStartedEvent = kPPPEvent + 15;
- kPPPDCECallFinishedEvent = kPPPEvent + 16;
- {******************************************************************************
- * IOCTL constants for I_OTConnect, I_OTDisconnect and I_OTScript
- * are defined in OpenTransport.h
- *******************************************************************************}
- {******************************************************************************
- * PPPMRULimits
- *******************************************************************************}
- type
- PPPMRULimitsPtr = ^PPPMRULimits;
- PPPMRULimits = record
- mruSize: UInt32; { proposed or actual}
- upperMRULimit: UInt32;
- lowerMRULimit: UInt32;
- end;
- {******************************************************************************
- * CCMiscInfo
- *******************************************************************************}
- type
- CCMiscInfoPtr = ^CCMiscInfo;
- CCMiscInfo = record
- connectionStatus: UInt32;
- connectionTimeElapsed: UInt32;
- connectionTimeRemaining: UInt32;
- bytesTransmitted: UInt32;
- bytesReceived: UInt32;
- reserved: UInt32;
- end;
- {******************************************************************************
- * LCPEcho
- *******************************************************************************}
- { Set both fields to zero to disable sending of LCP echo requests}
- type
- LCPEchoPtr = ^LCPEcho;
- LCPEcho = record
- retryCount: UInt32;
- retryPeriod: UInt32; { in milliseconds}
- end;
- {******************************************************************************
- * Bits used to tell kind of product
- *******************************************************************************}
- const
- kRAProductClientOnly = 2;
- kRAProductOnePortServer = 3;
- kRAProductManyPortServer = 4;
- {$endc} {TARGET_OS_MAC and TARGET_CPU_PPC}
- {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
- end.
- {$endc} {not MACOSALLINCLUDE}
|