view group.h @ 14:97ef217c3d89 noffle

[svn] Prepare for version 1.0pre5
author enz
date Tue, 18 Apr 2000 07:11:50 +0100
parents 04124a4423d4
children 526a4c34ee2e
line wrap: on
line source

/*
  group.h

  Groups database

  $Id: group.h 3 2000-01-04 11:35:42Z enz $
*/

#ifndef GRP_H
#define GRP_H

#include <time.h>
#include "common.h"

/* open group database */
Bool
Grp_open( void );

/* close group database */
void
Grp_close( void );

/* does group exist? */
Bool
Grp_exists( const char *name );

/* create new group and save it in database */
void
Grp_create( const char *name );

/* Get group description */
const char *
Grp_dsc( const char *name );

/* Get server the group resides on */
const char *
Grp_serv( const char *name );

/*
  Get article number of the first article in the group
  This number is a hint only, it is independent of the
  real articles in content.c
*/
int
Grp_first( const char *name );

/*
  Get article number of the last article in the group
  This number is a hint only, it is independent of the
  real articles in content.c
*/
int
Grp_last( const char *name );

int
Grp_lastAccess( const char *name );

int
Grp_rmtNext( const char *name );

time_t
Grp_created( const char *name );

/* Replace group's description (only if value != ""). */
void
Grp_setDsc( const char *name, const char *value );

void
Grp_setServ( const char *name, const char *value );

void
Grp_setCreated( const char *name, time_t value );

void
Grp_setRmtNext( const char *name, int value );

void
Grp_setLastAccess( const char *name, int value );

void
Grp_setFirstLast( const char *name, int first, int last );

/* Begin iterating trough the names of all groups. Store name of first
   group (or NULL if there aren't any) in name. Returns whether there are
   any groups. */
Bool
Grp_firstGrp( const char **name );

/* Continue iterating trough the names of all groups. Store name of next
   group (or NULL if there aren't any more) in name. Returns TRUE on
   success, FALSE when there are no more groups. */
Bool
Grp_nextGrp( const char **name );

#endif