install_t install()
  {
    PL_register_foreign_in_module(NULL,"read_dictionary",1,
				  (void*)(pl_read_dictionary),0);
    PL_register_foreign_in_module(NULL,"dictionary_unify",1,
				  (void*)(pl_dictionary_unify),PL_FA_NONDETERMINISTIC);
    PL_register_foreign_in_module(NULL,"query_string",1,
				  (void*)(pl_get_query_string),0);
    PL_register_foreign_in_module(NULL,"maximum_word_length",1,
				  (void*)(pl_dictionary_max_word_length),0);
    PL_register_foreign_in_module(NULL,"number_of_words_of_length_deterministic",2,
				  (void*)(pl_number_of_words_of_length),0);
  }
Beispiel #2
0
install_t
install_socket()
{ nbio_init("socket");

  ATOM_reuseaddr      =	PL_new_atom("reuseaddr");
  ATOM_broadcast      =	PL_new_atom("broadcast");
  ATOM_nodelay	      =	PL_new_atom("nodelay");
  ATOM_dispatch	      =	PL_new_atom("dispatch");
  ATOM_nonblock	      =	PL_new_atom("nonblock");
  ATOM_infinite	      =	PL_new_atom("infinite");
  ATOM_as	      =	PL_new_atom("as");
  ATOM_atom	      =	PL_new_atom("atom");
  ATOM_string	      =	PL_new_atom("string");
  ATOM_codes	      =	PL_new_atom("codes");

  FUNCTOR_socket1 = PL_new_functor(PL_new_atom("$socket"), 1);

#ifdef O_DEBUG
  PL_register_foreign_in_module("user", "tcp_debug", 1, pl_debug, 0);
#endif
  PL_register_foreign("tcp_accept",           3, pl_accept,           0);
  PL_register_foreign("tcp_bind",             2, pl_bind,             0);
  PL_register_foreign("tcp_connect",          2, pl_connect,	      0);
  PL_register_foreign("tcp_listen",           2, pl_listen,           0);
  PL_register_foreign("tcp_open_socket",      3, pl_open_socket,      0);
  PL_register_foreign("tcp_socket",           1, tcp_socket,          0);
  PL_register_foreign("tcp_close_socket",     1, pl_close_socket,     0);
  PL_register_foreign("tcp_setopt",           2, pl_setopt,           0);
  PL_register_foreign("tcp_host_to_address",  2, pl_host_to_address,  0);
  PL_register_foreign("gethostname",          1, pl_gethostname,      0);
  PL_register_foreign("tcp_select",           3, tcp_select,          0);

  PL_register_foreign("udp_socket",           1, udp_socket,          0);
  PL_register_foreign("udp_receive",	      4, udp_receive,	      0);
  PL_register_foreign("udp_send",	      4, udp_send,	      0);
}