概述:在XFree86的實作中,為了屏蔽在不同的平台下對fd操作上的差異。通過條件編譯的技術重新定義了一類對fd操作的宏。如下:
FD_SET(n,p) // 在fd_set中設定一個fd
FD_CLR(n,p) // 在fd_set中清楚對應的fd
FD_ISSET(n,p) // 判斷fd是否在fd_set集合中
FD_ZERO(p) // 對fd_set置空
XFD_ANYSET(p) //判斷fd_set至少有一個設定
XFD_COPYSET(src,dst) //拷貝一個fd_set! src --> dst
XFD_ANDSET(dst,b1,b2) //對兩個fd_set進行與操作! b1 & b2 --> dst
XFD_ORSET(dst,b1,b2) //對兩個fd_set進行或操作! b1 | b2 --> dst
XFD_UNSET(dst,b1) 對兩個fd_set進行差操作! b1 - dst --> dst