+void IPStack_Buffer_ClearBuffer(tIPStackBuffer *Buffer)
+{
+ ASSERT(Buffer);
+ IPStack_Buffer_LockBuffer(Buffer);
+ for( int i = 0; i < Buffer->nSubBuffers; i ++ )
+ {
+ if( Buffer->SubBuffers[i].Cb == NULL )
+ continue ;
+ Buffer->SubBuffers[i].Cb(
+ Buffer->SubBuffers[i].CbArg,
+ Buffer->SubBuffers[i].PreLength,
+ Buffer->SubBuffers[i].PostLength,
+ Buffer->SubBuffers[i].Data
+ );
+ }
+ Buffer->nSubBuffers = 0;
+ IPStack_Buffer_UnlockBuffer(Buffer);
+}
+