ftp.nice.ch/pub/next/unix/network/news/slrn0.9.0.0.s.tar.gz#/slrn/src/server.h

This is server.h in view mode; [Download] [Up]

#ifndef _SLRN_SERVER_H
#define _SLRN_SERVER_H
/*
 * Response codes for NNTP server
 *
 * @(#)Header: nntp.h,v 1.8 90/07/05 02:08:31 sob Exp $
 *
 * First digit:
 *
 *	1xx	Informative message
 *	2xx	Command ok
 *	3xx	Command ok so far, continue
 *	4xx	Command was correct, but couldn't be performed
 *		for some specified reason.
 *	5xx	Command unimplemented, incorrect, or a
 *		program error has occurred.
 *
 * Second digit:
 *
 *	x0x	Connection, setup, miscellaneous
 *	x1x	Newsgroup selection
 *	x2x	Article selection
 *	x3x	Distribution
 *	x4x	Posting
 */

#define	CHAR_INF	'1'
#define	CHAR_OK		'2'
#define	CHAR_CONT	'3'
#define	CHAR_ERR	'4'
#define	CHAR_FATAL	'5'

#define	INF_HELP	100	/* Help text on way */
#define	INF_AUTH	180	/* Authorization capabilities */
#define	INF_DEBUG	199	/* Debug output */

#define	OK_CANPOST	200	/* Hello; you can post */
#define	OK_NOPOST	201	/* Hello; you can't post */
#define	OK_SLAVE	202	/* Slave status noted */
#define	OK_GOODBYE	205	/* Closing connection */
#define	OK_GROUP	211	/* Group selected */
#define	OK_GROUPS	215	/* Newsgroups follow */
#define	OK_ARTICLE	220	/* Article (head & body) follows */
#define	OK_HEAD		221	/* Head follows */
#define	OK_BODY		222	/* Body follows */
#define	OK_NOTEXT	223	/* No text sent -- stat, next, last */
#define	OK_NEWNEWS	230	/* New articles by message-id follow */
#define	OK_NEWGROUPS	231	/* New newsgroups follow */
#define	OK_XFERED	235	/* Article transferred successfully */
#define	OK_POSTED	240	/* Article posted successfully */
#define	OK_AUTHSYS	280	/* Authorization system ok */
#define	OK_AUTH		281	/* Authorization (user/pass) ok */
#define OK_XGTITLE      282

#define OK_XOVER	224	       /* ok -- overview data follows */

#define	CONT_XFER	335	/* Continue to send article */
#define	CONT_POST	340	/* Continue to post article */
#define	NEED_AUTHINFO	380	/* authorization is required */
#define	NEED_AUTHDATA	381	/* <type> authorization data required */

#define	ERR_GOODBYE	400	/* Have to hang up for some reason */
#define	ERR_NOGROUP	411	/* No such newsgroup */
#define	ERR_NCING	412	/* Not currently in newsgroup */
#define	ERR_NOCRNT	420	/* No current article selected */
#define	ERR_NONEXT	421	/* No next article in this group */
#define	ERR_NOPREV	422	/* No previous article in this group */
#define	ERR_NOARTIG	423	/* No such article in this group */
#define	ERR_NOART	430	/* No such article at all */
#define	ERR_GOTIT	435	/* Already got that article, don't send */
#define	ERR_XFERFAIL	436	/* Transfer failed */
#define	ERR_XFERRJCT	437	/* Article rejected, don't resend */
#define	ERR_NOPOST	440	/* Posting not allowed */
#define	ERR_POSTFAIL	441	/* Posting failed */
#define	ERR_NOAUTH	480	/* authorization required for command */
#define	ERR_AUTHSYS	481	/* Authorization system invalid */
#define	ERR_AUTHREJ	482	/* Authorization data rejected */
#define ERR_XGTITLE     481     /* Yes, 481. */

#define	ERR_COMMAND	500	/* Command not recognized */
#define	ERR_CMDSYN	501	/* Command syntax error */
#define	ERR_ACCESS	502	/* Access to server denied */
#define	ERR_FAULT	503	/* Program fault, command not performed */
#define	ERR_AUTHBAD	580	/* Authorization Failed */

/* RFC 977 defines this; don't change it. */

#define	NNTP_STRLEN	512

#define NNTP_BUFFER_SIZE 0x3FFF


typedef struct 
{
   int (*po_start)(void);
   int (*po_end)(void);
   int (*po_printf)(char *, ...);
   int (*po_puts)(char *);
   int po_can_post;
} Slrn_Post_Obj_Type;

extern Slrn_Post_Obj_Type *Slrn_Post_Obj;

typedef struct 
{
   int (*sv_select_group) (char *, int *, int *);
   char *(*sv_read_line) (char *, unsigned int);
   void (*sv_close) (void);
   int (*sv_initialize) (void);
   int (*sv_select_article) (int, char *);
   char *(*sv_head_from_msgid) (char *, char *, unsigned int);
   char *(*sv_read_xover) (char *, unsigned int);
   int (*sv_open_xover) (int, int);
   void (*sv_close_xover) (void);
   int (*sv_put_server_cmd) (char *, char *, unsigned int);
   int (*sv_xpat_cmd) (char *, int, int, char *);

   int (*sv_xhdr_command) (char *, int, char *, unsigned int);
   char *(*sv_get_extra_xover_header) (char *);
   void (*sv_close_suspend_xover) (void);
   void (*sv_open_suspend_xover) (void);
   int (*sv_xgtitle_cmd) (char *);

   int sv_has_xover;
   int (*sv_has_cmd) (char *);
   int (*sv_list_newsgroups) (void);
   int (*sv_list_active) (void);
   
   char *sv_name;
} 
Slrn_Server_Obj_Type;

extern Slrn_Server_Obj_Type *Slrn_Server_Obj;

extern int Slrn_Server_Min, Slrn_Server_Max;


#if SLRN_HAS_NNTP_SUPPORT
extern int Slrn_Query_Reconnect;
extern char *Slrn_NNTP_Server_Name;
#endif

#ifdef SLRN_HAS_INEWS_SUPPORT
extern char *Slrn_Inews_Pgm;
#endif

extern int slrn_init_objects (void);
extern int slrn_select_post_object (int);
extern int slrn_select_server_object (int);
extern int slrn_parse_object_args (char *, char **, int);

extern char *slrn_getserverbyfile(char *);

#if SLRN_HAS_SPOOL_SUPPORT
extern char *Slrn_Inn_Root;
extern char *Slrn_Spool_Root;
extern char *Slrn_Nov_Root;
extern char *Slrn_Nov_File;
extern char *Slrn_Active_File;
extern char *Slrn_ActiveTimes_File;
extern char *Slrn_Newsgroups_File;
#endif

extern int Slrn_Server_Id;
extern int Slrn_Post_Id;
#endif				       /* SLRN_SERVER_H */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.