PCI Expressのマルチチャネル DMA インテル® FPGA IPユーザー ガイド

ID 683821
日付 4/20/2022
Public
ドキュメント目次

8.3.7. API リスト

表 135.  Open
機能の説明 プロトタイプ 戻り値
チャネルの獲得 int open(const char *pathname, int flags, mode_t mode); 成功した場合はファイル・ディスクリプター、それ以外の場合は負
表 136.  Close
機能の説明 プロトタイプ 戻り値
割り当てられたチャネルを解放する int close(int fd); 成功した場合はゼロ -1 それ以外の場合は、errno が適切に設定されます。
表 137.  Read
機能の説明 プロトタイプ 戻り値
D2H 転送のリクエスト送信

ssize_t read(int fd, void *buf, int count);

buf : DMAバッファーメモリーの先頭アドレス

count: DMA 転送データのサイズ

読み出されたバイト数

-1 それ以外の場合は、errno が適切に設定されます。

表 138.  Write
機能の説明 プロトタイプ 戻り値
H2D 転送のリクエスト送信

ssize_t write(int fd, void *buf, int count);

buf: DMA バッファーメモリーの先頭アドレス

count: DMA 転送データのサイズ

成功した場合は書き込まれたバイト数 -1 それ以外の場合は、errno が適切に設定されます。
表 139.  Readv
機能の説明 プロトタイプ 戻り値
バッチでの H2D 転送の送信を要求する ssize_t readv(int fd, const struct iovec *iov, int iovcnt);

成功すると、readv() は読み取られたバイト数を返します。

エラーの場合、-1 が返され、errno が適切に設定されます。

表 140.  Writev
機能の説明 プロトタイプ 戻り値
バッチでの D2H 転送のリクエスト送信 ssize_t writev(int fd, const struct iovec *iov, int iovcnt);

成功すると、writev() は書き込まれたバイト数を返します。

エラーの場合、-1 が返され、errno が適切に設定されます。

表 141.  Poll
機能の説明 プロトタイプ 戻り値
Write Backのポーリング

int poll(struct pollfd *fds, nfds_t nfds, int timeout);

イベント特別協賛:
  • POLLIN: D2H 用に少なくとも 1 つのディスクリプター キュー スロットが空いている
  • POLLOUT: H2D 用に少なくとも 1 つのディスクリプター・キュー スロットが空いている
  • POLLRDNORM: D2H ディスクリプター・キューが空である
  • POLLWRNORM: H2D ディスクリプター・キューが空である

成功すると、poll() は、revents フィールドがゼロ以外の値 (イベントまたはエラーを示す) に設定されている pollfds 内の要素の数である負でない値を返します。ゼロの戻り値は、ファイル・ディスクリプターが読み出される前にシステムコールがタイムアウトしたことを示します。

呼び出しが失敗した場合、errnoはエラーの原因を示す値に設定されます。