Radamsa
view release on metacpan or search on metacpan
radamsa/c/libradamsa.c view on Meta::CPAN
int port;
struct sockaddr_in peer;
byte *ip, *data = (byte *)c + W;
size_t len = payl_len(header(c));
port = immval(G(b, 1));
ip = (byte *)G(b, 2) + W;
peer.sin_family = AF_INET;
peer.sin_port = htons(port);
peer.sin_addr.s_addr = htonl(ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3]);
return BOOL(sendto(sock, data, len, 0, (struct sockaddr *)&peer, sizeof(peer)) != -1); }
case 28: /* setenv <owl-raw-bvec-or-ascii-leaf-string> <owl-raw-bvec-or-ascii-leaf-string-or-#f> */
if (stringp(a) && (b == IFALSE || stringp(b))) {
const char *name = (const char *)a + W;
if ((b != IFALSE ? setenv(name, (const char *)b + W, 1) : unsetenv(name)) == 0)
return ITRUE;
}
return IFALSE;
case 29:
return prim_connect((word *) a, b, c);
case 30: /* dup2 old-port new-fd â new-port | #f */
if (is_type(a, TPORT)) {
int fd = dup2(immval(a), immval(b));
if (fd != -1)
return make_immediate(fd, TPORT);
( run in 1.467 second using v1.01-cache-2.11-cpan-6aa56a78535 )