view src/request.h @ 193:021d145e34e9 noffle

[svn] * src/fetch.c: Only leave articles in the requested list if the error fetching them was fatal. Otherwise article requests will accumulate indefinitely (e.g retrieving through NNTPcache when it can't find the body of an article, now or event. Yes, this happened to me; I had nearly 2000 requests backed up and never being cleared). * src/group.c: The weekend's change introduced code that causes a bus error on Sparc ( *(time_t *)p = xxx ). Replace with a safe memcpy, and also use memcpy when reading the Entry and time items to remove warnings on Sparc compilation.
author bears
date Mon, 22 Oct 2001 14:41:43 +0100
parents 32ba1198c6fa
children 6f99218719e4
line wrap: on
line source

/*
  request.h

  Collection of requested articles.

  $Id: request.h 51 2000-05-05 23:49:38Z uh1763 $
*/

#ifndef REQ_H
#define REQ_H

#if HAVE_CONFIG_H
#include <config.h>
#endif

#include "common.h"

/* Is request for message msgId from server serv already recorded? This
   function has no error detection facility. On error, FALSE is returned.
   Nevertheless, errors are logged. */
Bool
Req_contains( const char *serv, const char *msgId );

/* Add request for message "msgId" from server "serv". Return TRUE if
   successful. */ 
Bool
Req_add( const char *serv, const char *msgId );

/* Remove request for message msgIg from server serv. This function does
   not return any errors. Nevertheless, they are logged. */
void
Req_remove( const char *serv, const char *msgId );

/* Begin iteration through all messages requested from one server. Return
   TRUE if there are any requests. Save first message ID in msgId. On
   error, it is logged, and FALSE is returned.
*/
Bool
Req_first( const char *serv, Str msgId );

/* Continue iteration. Return TRUE on success, FALSE when there are no more
   requests. Save message ID in msgId. On error, it is logged, and FALSE is
   returned. */
Bool
Req_next( Str msgId );

/* Get exclusive access to the request files. Refresh cache as necessary. */
Bool 
Req_open(void);

/* Write changes to disk */
void
Req_close(void);

#endif