-/*
- * Copyright (c) 1995-2007, Index Data
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2008 Index Data.
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* $Id: zoom.h,v 1.43 2007-01-10 13:25:46 adam Exp $ */
/**
* \file zoom.h
ZOOM_API(void)
ZOOM_resultset_option_set (ZOOM_resultset r, const char *key, const char *val);
-/* return size of result set (alias hit count AKA result count) */
+/* return size of result set (alias hit count AKA result count) */
ZOOM_API(size_t)
ZOOM_resultset_size (ZOOM_resultset r);
ZOOM_API(const char *)
ZOOM_package_option_get (ZOOM_package p, const char *key);
+ZOOM_API(const char *)
+ ZOOM_package_option_getl (ZOOM_package p, const char *key, int *lenp);
+
ZOOM_API(void)
ZOOM_package_option_set (ZOOM_package p, const char *key,
const char *val);
+ZOOM_API(void)
+ ZOOM_package_option_setl (ZOOM_package p, const char *key,
+ const char *val, int len);
+
/* ----------------------------------------------------------- */
/* Sort. First function is deprecated, use second instead */
ZOOM_API(void)
ZOOM_options_create_with_parent2 (ZOOM_options parent1,
ZOOM_options parent2);
+ZOOM_API(ZOOM_options)
+ ZOOM_options_dup(ZOOM_options src);
+
ZOOM_API(const char *)
ZOOM_options_get (ZOOM_options opt, const char *name);
ZOOM_connection_is_idle(ZOOM_connection c);
-/** \brief processes one event for one of connections given
+/** \brief process one event for one of connections given
\param no number of connections (size of cs)
\param cs connection array
\retval 0 no event was processed
\retval >0 event was processed for connection at (retval-1)
+ This function attemps to deal with outstandings events in a non-blocking
+ mode. If no events was processed (return value of 0), then the system
+ should attempt to deal with sockets in blocking mode using socket
+ select/poll which means calling the following functions:
+ ZOOM_connection_get_socket, ZOOM_connection_get_mask,
+ ZOOM_connection_get_timeout.
+*/
+ZOOM_API(int)
+ ZOOM_event_nonblock(int no, ZOOM_connection *cs);
+
+
+/** \brief process one event for connection
+ \param c connection
+ \retval 0 no event was processed
+ \retval 1 event was processed for connection
+
This function attemps to deal with outstandings events in
- a non-blocking fashion. If no events was processed (return value of 0),
+ a non-blocking fashion. If no event was processed (return value of 0),
then the system should attempt to deal with sockets in blocking mode
using socket select/poll which means calling the following functions:
ZOOM_connection_get_socket, ZOOM_connection_get_mask,
- ZOOM_connection_get_timeout.
+ ZOOM_connection_get_timeout. If an event was processed call this
+ function again.
*/
ZOOM_API(int)
- ZOOM_process_event(int no, ZOOM_connection *cs);
+ ZOOM_connection_process(ZOOM_connection c);
/** \brief get socket fd for ZOOM connection