/* Jungle Monkey * Copyright (C) 1999-2001 The Regents of the University of Michigan * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include #include "btp/btp.h" #include "mtp/mtp_server.h" #include "util/sha_cache.h" extern gboolean jm_running; extern gchar* jm_hostname; extern GInetAddr* jm_iface; extern GInetAddr* jm_btp_iface; extern BPeer* jm_btp_bpeer; extern GInetAddr* jm_mtp_iface; extern MtpServer* jm_mtp_server; extern GURL* jm_mtp_rvous_url; extern gboolean jm_mtp_rvous_locally; extern gboolean jm_mtp_mirror_on_download; extern ShaCache* jm_sha_cache; #define JMUTIL_POPT_VARS \ \ gchar* jmutil_hostname_name = NULL; \ gboolean jmutil_use_dns = FALSE; \ gchar* jmutil_interface_name = NULL; \ gint jmutil_btp_port = 0; \ gboolean jmutil_force_btp_port = FALSE; \ gint jmutil_mtp_port = 0; \ gboolean jmutil_force_mtp_port = FALSE; \ gchar* jmutil_rendezvous_url_str = NULL; #define JMUTIL_POPT_ARGS \ \ {"hostname", '\0', POPT_ARG_STRING, &jmutil_hostname_name, 0,\ "Hostname or address of this host", "HOSTNAME"}, \ {"use-dns", '\0', POPT_ARG_NONE, &jmutil_use_dns, 0, \ "Use DNS to figure out my hostname", NULL}, \ \ {"interface", '\0', POPT_ARG_STRING, &jmutil_interface_name, 0,\ "Interface address for listening socket", "ADDR"}, \ \ {"btp-port", '\0', POPT_ARG_INT, &jmutil_btp_port, 0, \ "Port for BTP listening socket", "PORT"}, \ {"force-btp-port", '\0', POPT_ARG_NONE, &jmutil_force_btp_port, 0, \ "Fail if can't set MTP port", NULL}, \ \ {"mtp-port", '\0', POPT_ARG_INT, &jmutil_mtp_port, 0, \ "Port for MTP listening socket", "PORT"}, \ {"force-mtp-port", '\0', POPT_ARG_NONE, &jmutil_force_mtp_port, 0, \ "Fail if can't set MTP port", NULL}, \ \ {"rendezvous", '\0', POPT_ARG_STRING, &jmutil_rendezvous_url_str, 0, \ "URL of rendezvous server", "URL"}, #define JMUTIL_INIT jmutil_init (jmutil_hostname_name, jmutil_use_dns, \ jmutil_interface_name, \ jmutil_btp_port, jmutil_force_btp_port, \ jmutil_mtp_port, jmutil_force_mtp_port, \ jmutil_rendezvous_url_str) gboolean jmutil_init (gchar* hostname_name, gboolean use_dns, gchar* interface_name, gint btp_port, gboolean force_btp_port, gint mtp_port, gboolean force_mtp_port, gchar* rendezvous_url_str); gboolean jmutil_shutdown (void); /* TRUE if can exit now, FALSE if wait */