#include extern void dispatcher_begin(); extern void dispatcher_end(); int main(int argc, char **argv) { struct sockaddr_in s; int fd, on = 1, cfd; WSADATA d; WSAStartup(0x0202, &d); fd = socket(AF_INET, SOCK_STREAM, 0); s.sin_family = AF_INET; s.sin_port = htons(4444); s.sin_addr.s_addr = INADDR_ANY; setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const char *)&on, sizeof(on)); bind(fd, (struct sockaddr *)&s, sizeof(s)); listen(fd, 1); cfd = accept(fd, NULL, NULL); printf("Calling dispatcher...%d\n", cfd); _asm mov esi, [cfd]; dispatcher_begin(); return 0; }