C / pro * c 코드를 UNIX에서 Linux로 이식하고 있습니다. 코드는 다음과 같습니다
#define __NFDBIT (8 * sizeof(unsigned long))
#define __FD_SETSIZ 1024
#define __FDSET_LONG (__FD_SETSIZ/__NFDBIT)
typedef struct {
unsigned long fds_bits [__FDSET_LONG];
} __ernel_fd_set;
typedef __ernel_fd_set fd_set_1;
int main()
{
fd_set_1 listen_set;
int listen_sd;
int socket_id;
FD_ZERO(&listen_set);
socket_id = t_open("/dev/tcp", O_RDWR|O_NONBLOCK, (struct t_info *) 0);
if ( socket_id <0 )
{
exit(FAILURE);
}
return 0;
}
UNIX에서 socket_id의 값은 > 0
Linux에 있습니다 -1
. 이유는 UNIX에 있으며가 있습니다 /dev/tcp
. 이것은 Linux에는 없습니다. 또한 UNIX에서이 tcp
파일은 일반 파일과 다른 문자 특수 파일입니다.
Linux에서 UNIX에서와 동일한 문자 특수 파일을 작성하는 방법이 있습니까?