send_fd

當一個進程(通常是伺服器)希望將一個檔案描述符傳送給另一個進程時,它調用send_fd或send_err。等待接收描述符的進程(客戶機)調用recv_fd。

基本介紹

  • 外文名:send_fd
  • 調用函式:send_fd或send_err
  • 接收函式:recv_fd
  • 系統:UNIX
簡介,詳細信息,

簡介

int send_fd (int spipefd, int filedes);
int send_err(int spipefd, int status, const char *errmsg);
int recv_fd(int spipefd, ssize_t (*userfunc)(int, const void *, size_t));

詳細信息

send_fd經由流管道spipefd傳送描述符filedes。send_err 經由流管道spipefd傳送errmsg和 status位元組。status的值應在 -1~-255之間。
客戶機調用recv_fd接收一描述符。如果一切正常(傳送者調用了send_fd),則作為函式值返回非負描述符。否則,返回值是由send_err傳送的status(-1 ~-2 5 5之間的一個值)。
另外,如果伺服器傳送了一條出錯訊息,則客戶機調用它自己的userfunc處理該訊息。
userfunc的第一個參數是常數STDERR_FILENO,然後是指向出錯訊息的指針及其長度。客戶機常將userfunc指定為UNIX的write函式。

相關詞條

熱門詞條

聯絡我們