8 #define NPROGNUMSTOTRY 1000 13 int skt = socket(AF_INET, SOCK_STREAM, 0), nerrors = 0;
15 fprintf(stderr,
"transient.c: socket errno=%d\n", errno);
19 struct sockaddr_in ad;
20 ad.sin_addr.s_addr = 0;
21 ad.sin_family = AF_INET;
23 unsigned int len =
sizeof(ad);
24 if (bind(skt, (
struct sockaddr *) &ad, len) < 0) {
25 fprintf(stderr,
"transient.c: bind socket errno=%d.\n", errno);
28 if (getsockname(skt, (
struct sockaddr *) &ad, &len) < 0) {
29 fprintf(stderr,
"transient.c: getsockname errno=%d.\n", errno);
33 for (
unsigned long prognum = 0x40000000;
35 if (pmap_set(prognum, version, IPPROTO_TCP, ad.sin_port))
38 if (skt > 0 && nerrors > 0)
45 unsigned long prognum, i;
51 fprintf(stderr,
"transient.c: attempt %lu\n", ++ i);
static unsigned long findTransient(int version)
int getTransientProgNumber(int version)