目次 - 3.関数 - 3.5パケット - SDLNet_AllocPacketV

SDLNet_AllocPacketV

UDPpacket **SDLNet_AllocPacketV(int howmany, int size)

howmany
確保するUDPpacketの数
size
新しいそれぞれのUDPpacketで確保するデータバッファのバイト数. 0は不正

新しいUDPpacketの配列を生成し, それぞれsizeバイトのデータバッファを(mallocで)確保する. 新しいパケットを使い終えたらSDLNet_FreePacketVで解放する必要がある. 戻された配列は, NULLの終端があるため, 要素数は要求より1つ多い.

戻り値: 新しい空のUDPpacketの配列へのポインタ. メモリがないなど失敗のときNULL

サンプルコード

// 新しい1024byteを確保した10パケットのUDPpacket配列を生成する
UDPpacket **packetV;

packetV=SDLNet_AllocPacketV(10, 1024);
if(!packetV) {
    printf("SDLNet_AllocPacketV: %s\n", SDLNet_GetError());
    // パケットを生成できなかった場合の処理を行わなければならないだろう
}
else {
    // 新しいパケット配列の処理を行う
    // 使い終わったらSDLNet_FreePacketVでこのパケット配列を解放する
}

参照

SDLNet_AllocPacket, SDLNet_FreePacket, SDLNet_FreePacketV, SDLNet_ResizePacket, UDPpacket

原文へのリンク

3.5.4 SDLNet_AllocPacketV