#ifndef OPENTRANSPORTPROTOCOL_H
#define __OPENTRANSPORTPROTOCOL__

#ifndef CONDITIONALMACROS_H
#include <CarbonCore/ConditionalMacros.h>
#endif


#if CALL_NOT_IN_CARBON
#ifndef FILES_H
#include <CarbonCore/Files.h>
#endif

#ifndef CODEFRAGMENTS_H
#include <CarbonCore/CodeFragments.h>
#endif

#endif 

#ifndef OPENTRANSPORT_H
#include <OSServices/OpenTransport.h>
#endif


#ifdef __cplusplus
#include <stddef.h>
#endif

#include <AvailabilityMacros.h>

#if PRAGMA_ONCE
#pragma once
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*OTBufferDataSize

Obtains the size of the no-copy receive buffer. (Deprecated in Mac OS X v10.4.)

OTByteCount OTBufferDataSize (
   OTBuffer * buffer
);
Parameters
buffer
Return Value

See the description of the OTByteCount data type.
Availability
Available in CarbonLib 1.0 and later when OpenTransport 1.0 or later is present.
Available in Mac OS X 10.0 and later.
Deprecated in Mac OS X v10.4.
Declared In
OpenTransportProtocol.h*/
OTByteCount OTBufferDataSize (
   OTBuffer * buffer
);

/*OTReleaseBuffer

Returns the no-copy receive buffer to the system. (Deprecated in Mac OS X v10.4.)

void OTReleaseBuffer (
   OTBuffer * buffer
);
Parameters
buffer
Availability
Available in CarbonLib 1.0 and later when OpenTransport 1.0 or later is present.
Available in Mac OS X 10.0 and later.
Deprecated in Mac OS X v10.4.
Declared In
OpenTransportProtocol.h*/
void OTReleaseBuffer (
   OTBuffer * buffer
);

/*OTReadBuffer

Copies data out of a no-copy receive buffer. (Deprecated in Mac OS X v10.4.)

Boolean OTReadBuffer (
   OTBufferInfo * buffer,
   void * dest,
   OTByteCount * len
);
Parameters
buffer
dest
len
Availability
Available in CarbonLib 1.0 and later when OpenTransport 1.0 or later is present.
Available in Mac OS X 10.0 and later.
Deprecated in Mac OS X v10.4.
Declared In
OpenTransportProtocol.h*/
Boolean OTReadBuffer (
   OTBufferInfo * buffer,
   void * dest,
   OTByteCount * len
);


#ifdef __cplusplus
}
#endif
#endif