21 #ifndef __OPENTRANSPORTKERNEL__
22 #define __OPENTRANSPORTKERNEL__
26 #error OpenTransportModule.h can only be used by kernel code.
37 #ifndef __OPENTRANSPORTPROTOCOL__
41 #ifndef __NAMEREGISTRY__
58 #if PRAGMA_STRUCT_ALIGN
59 #pragma options align = mac68k
60 #elif PRAGMA_STRUCT_PACKPUSH
62 #elif PRAGMA_STRUCT_PACK
66 #if defined(__MWERKS__) && TARGET_CPU_68K
68 #pragma pointers_in_D0
79 #define enableok(q) ((q)->q_flag &= ~QNOENB)
82 #define noenable(q) ((q)->q_flag |= QNOENB)
85 #define OTHERQ(q) (((q)->q_flag & QREADR) ? WR(q) : RD(q))
88 #define RD(q) (&q[-1])
93 #if CALL_NOT_IN_CARBON
108 #if CALL_NOT_IN_CARBON
118 allocbi(OTByteCount size, OTInt32 pri, allocbiProc pfv,
char *arg,
119 unsigned char *base);
185 bufcall(OTByteCount memNeeded, OTInt32 pri, bufcallp_t proc,
long context);
278 #if CALL_NOT_IN_CARBON
288 esbbcall(OTInt32 pri, esbbcallProc func,
long arg);
414 #if CALL_NOT_IN_CARBON
539 #if CALL_NOT_IN_CARBON
555 #if CALL_NOT_IN_CARBON
580 #if CALL_NOT_IN_CARBON
690 testb(OTByteCount size, OTInt32 pri);
736 strlog(OTInt32 mid, OTInt32 sid, OTInt32 level, OTUInt32 flags,
char *fmt, ...);
748 #if CALL_NOT_IN_CARBON
770 #if CALL_NOT_IN_CARBON
795 #define sprintf mi_sprintf
796 #define printf OTKernelPrintf
811 #define GetEError(v) ((OTUnixErr)(((v) >> 16) & 0xffff))
812 #define GetXTIError(v) ((OTXTIErr)((v) & 0xffff))
813 #define MakeTPIEError(e) ((OTError)(((((UInt16)(e)) << 16) | TSYSERR)))
814 #define MakeDLPIEError(e) ((OTError)(((((UInt16)(e)) << 16) | DL_SYSERR)))
815 #define MakeXTIError(xti) ((OTError)(xti))
816 #define MakeOTError(xti, e) ((OTError)((xti) | ((UInt16)(e)) << 16))
818 #if CALL_NOT_IN_CARBON
854 streamtab *install_str;
855 UInt32 install_flags;
856 UInt32 install_sqlvl;
865 kOTModIsDriver = 0x00000001,
866 kOTModIsModule = 0x00000002,
867 kOTModNoWriter = 0x00000010,
868 kOTModUpperIsTPI = 0x00001000,
869 kOTModUpperIsDLPI = 0x00002000,
870 kOTModLowerIsTPI = 0x00004000,
871 kOTModLowerIsDLPI = 0x00008000,
872 kOTModGlobalContext =
874 kOTModUsesInterrupts =
877 kOTModIsComplexDriver =
917 #define kOTModuleInterfaceID kOTModulePrefix "StrmMod"
923 typedef UInt16 major_t;
924 typedef UInt16 minor_t;
927 #define getmajor(x) ((major_t)(((unsigned long)(x) >> 16) & 0xffff))
930 #define getminor(x) ((minor_t)((x) & 0xffff))
933 #define makedev(x, y) ((dev_t)((((dev_t)(x)) << 16) | ((y) & 0xffff)))
935 #define getemajor getmajor
936 #define geteminor getminor
937 #define makedevice makedev
939 #define etoimajor(majnum) (majnum)
940 #define itoemajor(majnum, j) (majnum)
950 kFirstMinorNumber = 10
955 #if CALL_NOT_IN_CARBON
976 kOTLvlExtNonfatal = 3,
982 #define STRLOG(q, lvl, flags, str) OTStrlog(q, lvl, flags, str)
985 #define STRLOG1(q, lvl, flags, str) OTStrlog(q, lvl, flags, str)
987 #define STRLOG1(q, lvl, flags, str)
990 #if OTDEBUG > 1 || OTDEBUG > 1
991 #define STRLOG2(q, lvl, flags, str) OTStrlog(q, lvl, flags, str)
993 #define STRLOG2(q, lvl, flags, str)
1052 char *fResourceInfo;
1055 ItemCount fNumChildren;
1059 UInt32 fCapabilities;
1061 streamtab *fStreamtab;
1078 #if CALL_NOT_IN_CARBON
1192 #define kOTPortScannerPrefix "ot:pScnr$"
1198 #define kOTPortScannerInterfaceID kOTKernelPrefix "pScnr"
1199 #define kOTPseudoPortScannerInterfaceID kOTKernelPrefix "ppScnr"
1200 #define kOTCompatPortScannerInterfaceID kOTKernelPrefix "cpScnr"
1202 #define kOTPortScannerCFMTag kOTKernelPrefix "pScnr"
1203 #define kOTPseudoPortScannerCFMTag kOTKernelPrefix "ppScnr"
1204 #define kOTCompatPortScannerCFMTag kOTKernelPrefix "cpScnr"
1210 #define kOTScanPortsID "OTScanPorts"
1218 kOTScanAfterSleep = 1
1229 #if CALL_NOT_IN_CARBON
1264 typedef UInt8 MPS_INTR_STATE;
1267 #if CALL_NOT_IN_CARBON
1276 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1277 #pragma parameter mps_intr_disable(__A0)
1281 THIRTEENWORDINLINE(0x40C0, 0xE040, 0x007C, 0x0600, 0x027C, 0xFEFF, 0x1080,
1282 0x0200, 0x0070, 0x0C00, 0x0070, 0x6602, 0xA9FF);
1287 #if CALL_NOT_IN_CARBON
1296 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1297 #pragma parameter mps_intr_disable(__A0)
1321 #if CALL_NOT_IN_CARBON
1330 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1331 #pragma parameter mps_intr_enable(__A0)
1335 WORDINLINE(0x40C0, 0x0240, 0x0700, 0x0C40, 0x0600, 0x6702, 0xA9FF, 0x1010,
1336 0x0200, 0x0070, 0x0C00, 0x0070, 0x6602, 0xA9FF, 0x1010, 0xE140,
1342 #if CALL_NOT_IN_CARBON
1351 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1352 #pragma parameter mps_intr_enable(__A0)
1381 typedef UInt8 MPS_INTR_STATE;
1382 #if CALL_NOT_IN_CARBON
1410 kOTMinimumTimerValue = 8
1413 #if CALL_NOT_IN_CARBON
1520 #if CALL_NOT_IN_CARBON
1530 OTAllocMsg(
void *buf, OTByteCount size, EsbFreeProcPtr func,
void *arg);
1575 #define calloc (DONT_CALL * THIS_FUNCTION)
1576 #define malloc (DONT_CALL * THIS_FUNCTION)
1577 #define realloc (DONT_CALL * THIS_FUNCTION)
1578 #define free (DONT_CALL * THIS_FUNCTION)
1591 mi_bcmp(
const char *first,
const char *second, OTByteCount nBytes);
1595 #define bcopy(s, d, l) OTMemcpy(d, s, l)
1596 #define bzero(d, l) OTMemzero(d, (OTByteCount)(l))
1597 #define bcmp(s, d, l) mi_bcmp(s, d, l)
1605 #define BCOPY(s, d, l) bcopy((const char *)(s), (char *)(d), l)
1606 #define BZERO(d, l) bzero((char *)(d), l)
1607 #define BCMP(s, d, l) mi_bcmp((const char *)(s), (const char *)(d), l)
1614 #define HEAD_SIZE(mp) ((mp)->b_rptr - (mp)->b_datap->db_base)
1615 #define TAIL_SIZE(mp) ((mp)->b_datap->db_lim - (mp)->b_wptr)
1616 #define MBLK_SIZE(mp) ((mp)->b_wptr - (mp)->b_rptr)
1617 #define DBLK_SIZE(mp) ((mp)->b_datap->db_lim - (mp)->b_datap->db_base)
1621 #define MI_COPY_IN 1
1622 #define MI_COPY_OUT 2
1623 #define MI_COPY_DIRECTION(mp) (((UInt8 *)&(mp)->b_cont->b_prev)[0])
1624 #define MI_COPY_COUNT(mp) (((UInt8 *)&(mp)->b_cont->b_prev)[1])
1625 #define MI_COPY_RVAL(mp) (*(OTInt32 *)&(mp)->b_cont->b_next)
1626 #define MI_COPY_CASE(dir, cnt) ((OTInt32)(((cnt) << 2) | dir))
1627 #define MI_COPY_STATE(mp) \
1628 ((OTInt32)MI_COPY_CASE(MI_COPY_DIRECTION(mp), MI_COPY_COUNT(mp)))
1633 #if CALL_NOT_IN_CARBON
1688 char *opt, OTByteCount opt_length);
1700 char *opt, OTByteCount opt_length, OTInt32 seqnum);
1712 char *opt, OTByteCount opt_length);
1845 OTByteCount opt_length, OTInt32 error);
1857 char *opt, OTByteCount opt_length);
1869 char *opt, OTByteCount opt_length);
1881 OTBooleanParam keepOnError);
1981 OTInt32 flag, OTInt32 sflag,
cred_t *credp);
2113 void *fConfigurationInfo;
2114 ByteCount fConfigurationLength;
2143 #define OTPCIServiceType(devType, framingFlags, isTPI, isDLPI) \
2144 ((devType << 16) | (((framingFlags) & 0xff) << 8) | (isTPI ? 2 : 0) | \
2163 kOTPCINoErrorStayLoaded = 1
2171 #define kDescriptorProperty "driver-descriptor"
2172 #define kDriverProperty "driver,AAPL,MacOS,PowerPC"
2173 #define kDriverPtrProperty "driver-ptr"
2174 #define kSlotProperty "AAPL,slot-name"
2200 class TStreamQueue :
public queue
2210 inline void TStreamQueue::EnableQueue()
2212 if (q_flag & QNOENB)
2231 kMaxStreamBufferSize = (((OTByteCount)-1L) >> 1)
2234 class TStreamMessage :
public msgb
2237 void *
operator new(OTByteCount) {
return NULL; }
2240 void *
operator new(OTByteCount, OTByteCount size)
2242 return (TStreamMessage *)
allocb(size, 0);
2244 void *
operator new(OTByteCount,
void *buf, OTByteCount size,
2245 EsbFreeProcPtr func,
void *arg)
2249 void operator delete(
void *ptr)
2255 void Reset(OTByteCount = 0);
2256 void ResetWithLeader(OTByteCount);
2259 TStreamMessage *RemoveData();
2260 void AppendData(TStreamMessage *data);
2262 OTByteCount GetSize()
const;
2263 OTByteCount GetDataSize()
const;
2264 OTByteCount GetMessageDataSize()
const;
2265 void SetDataSize(OTByteCount);
2267 void SetType(UInt8);
2268 UInt8 GetType()
const;
2269 TStreamMessage *GetNextBlock()
const;
2270 TStreamMessage *ReuseMessage(OTByteCount newSize,
2271 OTBooleanParam keepOnFailure);
2273 void SetNextBlock(TStreamMessage *);
2274 char *GetDataPointer()
const;
2275 Boolean IsReuseable(OTByteCount size)
const;
2277 void HideBytesAtFront(OTByteCount);
2278 void HideBytesAtEnd(OTByteCount);
2282 const TStreamMessage *
_MDECL GetBlockAt(OTByteCount &offset)
const;
2283 const void *
_MDECL GetPointerTo(OTByteCount offset, OTByteCount *len)
const;
2284 const void *
_MDECL GetPointerTo(OTByteCount offset, OTByteCount *len,
2292 TStreamMessage *
_MDECL MakeSharedCopy(OTByteCount offset = 0,
2293 OTByteCount len = kMaxStreamBufferSize);
2300 TStreamMessage *
_MDECL ReadData(
void *buf, OTByteCount *len);
2301 OTByteCount
_MDECL ReadControl(
void *buf, OTByteCount len);
2308 inline void TStreamMessage::Reset(OTByteCount size)
2310 b_rptr = b_datap->db_base;
2311 b_wptr = b_rptr + size;
2314 inline OTByteCount OTLengthWithLeader(OTByteCount size)
2316 return (size + 3) & ~3;
2319 inline void TStreamMessage::ResetWithLeader(OTByteCount size)
2321 b_rptr = b_datap->db_lim - OTLengthWithLeader(size);
2322 b_wptr = b_rptr + size;
2325 inline void TStreamMessage::FreeData()
2334 inline TStreamMessage *TStreamMessage::RemoveData()
2336 TStreamMessage *temp = (TStreamMessage *)b_cont;
2341 inline void TStreamMessage::AppendData(TStreamMessage *
mp) {
linkb(
this,
mp); }
2343 inline OTByteCount TStreamMessage::GetSize()
const
2345 return b_datap->db_lim - b_datap->db_base;
2348 inline OTByteCount TStreamMessage::GetDataSize()
const
2350 return b_wptr - b_rptr;
2353 inline OTByteCount TStreamMessage::GetMessageDataSize()
const
2355 return (b_cont ==
NULL) ? (b_datap->db_type == M_DATA ? (b_wptr - b_rptr) : 0)
2359 inline void TStreamMessage::SetDataSize(OTByteCount size)
2361 b_wptr = b_rptr + size;
2364 inline void TStreamMessage::SetType(UInt8 type) { b_datap->db_type = type; }
2366 inline unsigned char TStreamMessage::GetType()
const
2368 return b_datap->db_type;
2371 inline TStreamMessage *TStreamMessage::GetNextBlock()
const
2373 return (TStreamMessage *)b_cont;
2376 inline void TStreamMessage::SetNextBlock(TStreamMessage *
mp)
2381 inline char *TStreamMessage::GetDataPointer()
const {
return (
char *)b_rptr; }
2383 inline Boolean TStreamMessage::IsReuseable(OTByteCount size)
const
2385 return (b_datap->db_ref == 1 && GetSize() >= size);
2388 inline void TStreamMessage::HideBytesAtFront(OTByteCount len)
2393 inline void TStreamMessage::HideBytesAtEnd(OTByteCount len)
2398 inline TStreamMessage *
2399 TStreamMessage::ReuseMessage(OTByteCount newSize,
2400 OTBooleanParam keepOnFailure)
2402 return (TStreamMessage *)
mi_reuse_proto(
this, newSize, keepOnFailure);
2419 class TTimerMessage :
public TStreamMessage
2426 inline void *
operator new(OTByteCount,
queue_t *q)
2430 inline void *
operator new(OTByteCount,
queue_t *q, OTByteCount extra)
2435 inline void operator delete(
void *ptr)
2443 TTimerMessage *ChangeQueue(TStreamQueue *newQ, TTimerMessage *newMP);
2445 void Schedule(OTTimeout time);
2448 inline void *
operator new(OTByteCount) {
return 0; }
2451 inline TTimerMessage *NewTimerMsg(
queue_t *q, OTByteCount extra = 0)
2456 inline void FreeTimerMsg(TTimerMessage *msg) {
mi_timer_free(msg); }
2464 inline TTimerMessage *TTimerMessage::ChangeQueue(TStreamQueue *q,
2465 TTimerMessage *newMP)
2472 inline void TTimerMessage::Schedule(OTTimeout time)
2475 mi_timer(
this, (
unsigned long)time);
2482 #if defined(__MWERKS__) && TARGET_CPU_68K
2486 #if PRAGMA_STRUCT_ALIGN
2487 #pragma options align = reset
2488 #elif PRAGMA_STRUCT_PACKPUSH
2490 #elif PRAGMA_STRUCT_PACK
2494 #ifdef PRAGMA_IMPORT_OFF
2497 #pragma import reset
#define NULL
Definition: MacTypes.h:61
unsigned char Boolean
Definition: MacTypes.h:318
OSStatus OTUnregisterPort(const char *portName, void **refPtr)
void * OTAllocMem(OTByteCount size)
OTInt32 mpnotify(mblk_t *mp, mpnotifyProc pfv, char *arg)
mblk_t * mi_tpi_discon_ind(mblk_t *trailer_mp, OTInt32 reason, OTInt32 seqnum)
OSStatus OTRegisterPort(OTPortRecord *portInfo, void *ref)
void mi_copy_done(queue_t *q, mblk_t *mp, OTInt32 err)
mblk_t * getq(queue_t *q)
mblk_t * mi_tpi_unitdata_ind(mblk_t *trailer_mp, char *src, OTByteCount src_length, char *opt, OTByteCount opt_length)
OTInt32 mi_sprintf(char *buf, char *fmt,...)
mblk_t * esballoca(unsigned char *base, OTByteCount size, OTInt32 pri, frtn_t *freeInfo)
OTInt32 insq(queue_t *q, mblk_t *emp, mblk_t *nmp)
OTInt32 strqget(queue_t *q, qfields_t what, OTUInt8Param pri, long *valp)
mblk_t * mi_tpi_err_ack_alloc(mblk_t *mp, OTInt32 tlierr, OTInt32 unixerr)
OTInt32 adjmsg(mblk_t *mp, OTInt32 len_param)
OTInt32 bcanput(queue_t *q, OTUInt8Param pri)
UInt8 * mi_offset_paramc(mblk_t *mp, long offset, long len)
void mps_become_writer(queue_t *q, mblk_t *mp, OTWriterProcPtr proc)
TPortRecord * OTGetIndexedPort(OTItemCount index)
mblk_t * mi_copyout_alloc(queue_t *q, mblk_t *mp, char *uaddr, OTByteCount len)
void OTFreePortMem(void *mem)
mblk_t * mi_tpi_data_ind(mblk_t *trailer_mp, OTInt32 flags, long ptype)
OTInt32 putctl1(queue_t *q, OTInt32 mType, OTInt32 c)
void mi_close_detached(char **mi_opp_orig, char *ptr)
OTInt32 mi_open_comm(char **mi_opp_orig, OTByteCount size, queue_t *q, dev_t *dev, OTInt32 flag, OTInt32 sflag, cred_t *credp)
OTInt32 esbbcall(OTInt32 pri, esbbcallProc func, long arg)
OTInt32 putctl(queue_t *q, OTInt32 mType)
char * mi_next_ptr(char *ptr)
void unbufcall(OTInt32 id)
unsigned short getmid(char *name)
mblk_t * mi_tpi_ack_alloc(mblk_t *mp, OTByteCount size, long primType)
void unfreezestr(queue_t *q, OTInt32 oldpri)
Boolean OTScheduleDriverDeferredTask(long dtCookie)
void flushq(queue_t *q, OTInt32 flag)
mblk_t * mi_tpi_uderror_ind(char *dest, OTByteCount dest_length, char *opt, OTByteCount opt_length, OTInt32 error)
OTInt32 msgdsize(const mblk_t *mp)
OTInt32 freeq(queue_t *q)
mblk_t * dupb(mblk_t *mp)
mblk_t * mi_tpi_discon_req(mblk_t *trailer_mp, OTInt32 seqnum)
OTInt32 freezestr(queue_t *q)
OTInt32 putq(queue_t *q, mblk_t *mp)
mblk_t * mi_tpi_exdata_ind(mblk_t *trailer_mp, OTInt32 flags, long ptype)
void mps_intr_disable(MPS_INTR_STATE *oldState)
OTInt32 putctl2(queue_t *q, OTInt32 mType, OTInt32 c1, OTInt32 c2)
OTInt32 bufcall(OTByteCount memNeeded, OTInt32 pri, bufcallp_t proc, long context)
OTInt32 pullupmsg(mblk_t *mp, OTInt32 len)
void mps_intr_enable(MPS_INTR_STATE *oldState)
mblk_t * mi_tpi_ok_ack_alloc(mblk_t *mp)
OTInt32 bcanputnext(queue_t *q, OTUInt8Param pri)
void mi_timer(mblk_t *mp, unsigned long milliSeconds)
mblk_t * copyb(mblk_t *mp)
OTInt32 putnextctl1(queue_t *q, OTInt32 mType, OTInt32 c)
queue_t * mi_allocq(streamtab *st)
OTInt32 strqset(queue_t *q, qfields_t what, OTUInt8Param pri, long val)
OTInt32 putbq(queue_t *q, mblk_t *mp)
void * OTReallocMem(void *ptr, OTByteCount newSize)
mblk_t * unlinkb(mblk_t *mp)
mblk_t * allocbi(OTByteCount size, OTInt32 pri, allocbiProc pfv, char *arg, unsigned char *base)
UInt8 * mi_offset_param(mblk_t *mp, long offset, long len)
TPortRecord * OTFindPortConflict(OTPortRef ref)
mblk_t * mi_tpi_conn_req(mblk_t *trailer_mp, char *dest, OTByteCount dest_length, char *opt, OTByteCount opt_length)
OTInt32 canput(queue_t *q)
void mi_copy_set_rval(mblk_t *mp, OTInt32 rval)
OTInt32 puthere(queue_t *q, mblk_t *mp)
mblk_t * rmvb(mblk_t *mp, mblk_t *bp)
mblk_t * allocb(OTByteCount size, OTInt32 pri)
mblk_t * mi_tpi_data_req(mblk_t *trailer_mp, OTInt32 flags, long pttype)
OTInt32 mi_copy_state(queue_t *q, mblk_t *mp, mblk_t **mpp)
OTInt32 strlog(OTInt32 mid, OTInt32 sid, OTInt32 level, OTUInt32 flags, char *fmt,...)
mblk_t * mi_timer_alloc(queue_t *q, OTByteCount size)
mblk_t * mi_tpi_ordrel_ind(void)
mblk_t * mi_reuse_proto(mblk_t *toReuse, OTByteCount sizeDesired, OTBooleanParam keepOnError)
Boolean mi_timer_valid(mblk_t *mp)
mblk_t * mi_tpi_ordrel_req(void)
void mi_copyout(queue_t *q, mblk_t *mp)
Boolean mi_set_sth_wroff(queue_t *q, OTByteCount size)
OTInt32 putnext(queue_t *q, mblk_t *mp)
OTInt32 testb(OTByteCount size, OTInt32 pri)
Boolean mi_timer_cancel(mblk_t *mp)
OTInt32 drv_priv(cred *credp)
void linkb(mblk_t *mp1, mblk_t *mp2)
void rmvq(queue_t *q, mblk_t *mp)
mblk_t * mi_tpi_exdata_req(mblk_t *trailer_mp, OTInt32 flags, long ptype)
Boolean mi_set_sth_maxblk(queue_t *q, OTByteCount size)
mblk_t * mi_tpi_unitdata_req(mblk_t *trailer_mp, char *dst, OTByteCount dst_length, char *opt, OTByteCount opt_length)
void * OTAllocPortMem(OTByteCount size)
void OTFreeMem(void *mem)
void flushband(queue_t *q, OTUInt8Param pri, OTInt32 flag)
OTInt32 OTKernelPrintf(OTInt32 toDo, char *fmt,...)
mblk_t * msgpullup(mblk_t *mp, OTInt32 len)
Boolean mi_set_sth_hiwat(queue_t *q, OTByteCount size)
char * mi_open_detached(char **mi_opp_orig, OTByteCount size, dev_t *devp)
TPortRecord * OTFindPort(const char *portName)
OSStatus OTErrorToOSStatus(OTError err)
#define enableok(q)
Definition: OpenTransportKernel.h:79
void mi_bufcall(queue_t *q, OTByteCount size, OTInt32 pri)
queue_t * backq(queue_t *q)
mblk_t * esballoc(unsigned char *base, OTByteCount size, OTInt32 pri, frtn_t *freeInfo)
void cmn_err(OTInt32 errType, char *fmt,...)
void OTStrlog(queue_t *q, OTInt32 lvl, OTInt32 flags, const char *str)
admin_t getadmin(OTUInt16Param mid)
OTInt32 qreply(queue_t *q, mblk_t *mp)
OTInt32 canputnext(queue_t *q)
OTInt32 put(queue_t *q, mblk_t *mp)
mblk_t * mi_tpi_conn_con(mblk_t *trailer_mp, char *src, OTByteCount src_length, char *opt, OTByteCount opt_length)
mblk_t * mi_tpi_conn_ind(mblk_t *trailer_mp, char *src, OTByteCount src_length, char *opt, OTByteCount opt_length, OTInt32 seqnum)
mblk_t * OTAllocMsg(void *buf, OTByteCount size, EsbFreeProcPtr func, void *arg)
mblk_t * copymsg(mblk_t *mp)
OTInt32 putnextctl(queue_t *q, OTInt32 mType)
OSStatus OTChangePortState(OTPortRef portRef, OTEventCode theChange, OTResult why)
typedef CALLBACK_API_C(install_info *, GetOTInstallInfoProcPtr)(void)
void qprocson(queue_t *q)
long OTError
Definition: OpenTransportKernel.h:809
OTInt32 mi_bcmp(const char *first, const char *second, OTByteCount nBytes)
void qprocsoff(queue_t *q)
mblk_t * mi_tpi_info_req(void)
void mi_detach(queue_t *q, char *ptr)
Boolean mi_set_sth_lowat(queue_t *q, OTByteCount size)
mblk_t * dupmsg(mblk_t *mp)
mblk_t * mi_timer_q_switch(mblk_t *mp, queue_t *q, mblk_t *new_mp)
void mi_copyin(queue_t *q, mblk_t *mp, char *uaddr, OTByteCount len)
mblk_t * mi_reallocb(mblk_t *old_mp, OTByteCount new_size)
OTInt32 mi_close_comm(char **mi_opp_orig, queue_t *q)
TPortRecord * OTFindPortByDev(dev_t dev)
OTInt32 qsize(queue_t *q)
TPortRecord * OTFindPortByRef(OTPortRef ref)
void mi_timer_free(mblk_t *mp)
Definitions likely to be used by low-level protocol stack implementation.
UInt32 dev_t
Definition: OpenTransportProtocol.h:137
SInt32 queue_t
Definition: OpenTransportProtocol.h:457
#define _MDECL
Definition: OpenTransport.h:223
UInt32 OTPortRef
Definition: OpenTransport.h:1203
UInt8 OTUInt8Param
Definition: OpenTransport.h:195
UInt32 OTEventCode
Definition: OpenTransport.h:678
SInt32 OTResult
Definition: OpenTransport.h:510
Definition: OpenTransport.h:3573
Definition: OpenTransportKernel.h:2111
Definition: OpenTransport.h:1404
Definition: NameRegistry.h:62
Definition: OpenTransportKernel.h:1048
Definition: OpenTransportKernel.h:1021
Definition: OpenTransportKernel.h:1016
Definition: OpenTransportKernel.h:1028
Definition: OpenTransportProtocol.h:155
Definition: OpenTransportProtocol.h:171
Definition: OpenTransportKernel.h:853
Definition: OpenTransportProtocol.h:205