Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
IMAAudioRTP/RTPMPIMAAudio/Sources/TCycle.c
/* |
File: TCycle.c |
Contains: Definition of operations for TCycle, a cyclic list element datatype |
Copyright: © 1997-1999 by Apple Computer, Inc., all rights reserved. |
*/ |
#include "TCycle.h" |
#include <MacMemory.h> |
extern |
TCycle ** |
CycleNew( |
unsigned long inSize ) |
{ |
TCycle ** cycleNew; |
if( inSize < sizeof( **cycleNew ) ) |
inSize = sizeof( **cycleNew ); |
cycleNew = ( TCycle ** ) NewHandle( inSize ); |
if( cycleNew ) |
( **cycleNew ).__itsNext = cycleNew; |
return( cycleNew ); |
} |
extern |
void |
CycleDispose( |
TCycle ** inElement ) |
{ |
if( inElement ) |
{ |
if( ( **inElement ).__itsNext == inElement ) |
DisposeHandle( ( Handle ) inElement ); |
} |
} |
extern |
TCycle ** |
CyclePut( |
TCycle ** inList, |
TCycle ** inElement ) |
{ |
TCycle ** cyclePut = inList; |
if( inList && inElement ) |
{ |
if( ( **inElement ).__itsNext == inElement ) |
{ |
( **inElement ).__itsNext = ( **inList ).__itsNext; |
( **inList ).__itsNext = inElement; |
cyclePut = inElement; |
} |
} |
return( cyclePut ); |
} |
extern |
TCycle ** |
CycleGet( |
TCycle ** inList ) |
{ |
TCycle ** cycleGet = 0; |
if( inList ) |
{ |
cycleGet = ( **inList ).__itsNext; |
( **inList ).__itsNext = ( **cycleGet ).__itsNext; |
( **cycleGet ).__itsNext = cycleGet; |
} |
return( cycleGet ); |
} |
extern |
TCycle ** |
CycleNext( |
TCycle ** inElement ) |
{ |
TCycle ** cycleNext = 0; |
if( inElement ) |
cycleNext = ( **inElement ).__itsNext; |
return( cycleNext ); |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14