/* Some times, there is no 1:1 relationship between NET_BLOCK and NET_BLOCK_OP. For example, that in NetbufGetFragment. */
VOID NetbufSetBlockOp(IN OUT NET_BUF *Nbuf, IN UINT8 *Bulk, IN UINT32 Len, IN UINT32 Index)
/* Some times, there is no 1:1 relationship between NET_BLOCK and NET_BLOCK_OP. For example, that in NetbufGetFragment. */
VOID NetbufSetBlockOp(IN OUT NET_BUF *Nbuf, IN UINT8 *Bulk, IN UINT32 Len, IN UINT32 Index)
{
  NET_BLOCK_OP  *BlockOp;
  NET_CHECK_SIGNATURE (Nbuf, NET_BUF_SIGNATURE);
  ASSERT (Index < Nbuf->BlockOpNum);
  BlockOp            = &(Nbuf->BlockOp[Index]);
  BlockOp->BlockHead = Bulk;
  BlockOp->BlockTail = Bulk + Len;
  BlockOp->Head      = Bulk;
  BlockOp->Tail      = Bulk + Len;
  BlockOp->Size      = Len;
}