tomwalters@0: /* tomwalters@0: pullable.h tomwalters@0: ========== tomwalters@0: tomwalters@0: pullable derived sources tomwalters@0: tomwalters@0: */ tomwalters@0: tomwalters@0: #define SetPullableSource( _source , _puller, _name ) \ tomwalters@0: setPullableSource( &( _source )->parent, _puller, _name ) tomwalters@0: #define DeletePullableSource( _source ) \ tomwalters@0: deletePullableSource( &( _source )->parent ) tomwalters@0: tomwalters@0: /* derived Pullable sources */ tomwalters@0: tomwalters@0: #define NewSlaveSource( _master ) \ tomwalters@0: newSlaveSource( _master ) tomwalters@0: tomwalters@0: #define NewStaticSource( _pointer ) \ tomwalters@0: newStaticSource( (Pointer) ( _pointer ) ) tomwalters@0: tomwalters@0: #define NewRetainingSource( _source, _retained ) \ tomwalters@0: newRetainingSource( _source, (ByteCount) ( _retained ) ) tomwalters@0: tomwalters@0: #define NewDelayingSource( _source, _delay ) \ tomwalters@0: newDelayingSource( _source, (ByteCount) ( _delay ) ) tomwalters@0: tomwalters@0: #define NewBlockingSource( _source, _block ) \ tomwalters@0: newBlockingSource( _source, (ByteCount) ( _block ) ) tomwalters@0: tomwalters@0: tomwalters@0: /* fundamental active source types */ tomwalters@0: tomwalters@0: extern Source setPullableSource() ; tomwalters@0: extern Pointer deletePullableSource() ; tomwalters@0: tomwalters@0: /* simple assertive derived sources */ tomwalters@0: tomwalters@0: extern Source newSlaveSource() ; tomwalters@0: extern Source newStaticSource() ; tomwalters@0: extern Source newRetainingSource() ; tomwalters@0: extern Source newDelayingSource() ; tomwalters@0: extern Source newBlockingSource() ; tomwalters@0: