Mercurial > noffle
view src/protocol.h @ 167:7ba337dafb2c noffle
[svn] * TODO,content.c,lock.c,server.c,server.h: Remove bug notice re:
need to do a Cont_write on Lock_closeDatabases in case of unwritten
content changes when releasing the lock. Update content to keep dirty
flag and avoid unnecessary writes, and lock to signal server to re-read
its group content info after the lock is released. Do NOT write content
info on Lock_close if dirty, as the placeholder article in unsubscribed
groups is currently done by adding it to the content when joining the
group and deliberately not saving it unless another content modification
takes place and thus causes the content to be saved.
author | bears |
---|---|
date | Sun, 25 Feb 2001 23:29:50 +0000 |
parents | 1c7303c71f66 |
children | 166008a80f03 |
line wrap: on
line source
/* protocol.h Functions related with the NNTP protocol which are useful for both the server and the client. $Id: protocol.h 227 2000-10-26 21:21:13Z bears $ */ #ifndef PRT_H #define PRT_H #if HAVE_CONFIG_H #include <config.h> #endif #include "dynamicstring.h" #include "over.h" #define STAT_HELP_FOLLOWS 100 #define STAT_DEBUG_FOLLOWS 199 #define STAT_READY_POST_ALLOW 200 #define STAT_READY_NO_POST_ALLOW 201 #define STAT_CMD_OK 202 #define STAT_GOODBYE 205 #define STAT_GRP_SELECTED 211 #define STAT_GRPS_FOLLOW 215 #define STAT_ART_FOLLOWS 220 #define STAT_HEAD_FOLLOWS 221 #define STAT_BODY_FOLLOWS 222 #define STAT_ART_RETRIEVED 223 #define STAT_OVERS_FOLLOW 224 #define STAT_NEW_GRP_FOLLOW 231 #define STAT_POST_OK 240 #define STAT_AUTH_ACCEPTED 281 #define STAT_SEND_ART 340 #define STAT_MORE_AUTH_REQUIRED 381 #define STAT_NO_SUCH_GRP 411 #define STAT_NO_GRP_SELECTED 412 #define STAT_NO_ART_SELECTED 420 #define STAT_NO_NEXT_ART 421 #define STAT_NO_PREV_ART 422 #define STAT_NO_SUCH_NUMB 423 #define STAT_NO_SUCH_ID 430 #define STAT_ART_REJECTED 437 #define STAT_POST_FAILED 441 #define STAT_AUTH_REQUIRED 480 #define STAT_AUTH_REJECTED 482 #define STAT_NO_SUCH_CMD 500 #define STAT_SYNTAX_ERR 501 #define STAT_NO_PERMISSION 502 #define STAT_PROGRAM_FAULT 503 /* Read next line from f into Str, up to "\n" or "\r\n". Don't save "\n" or "\r\n" in line. Terminate with '\0'. If timeoutSeconds < 0, no timeout alarm is used. */ Bool Prt_getLn( Str line, FILE *f, int timeoutSeconds ); /* Read a text line from server. Returns TRUE if line != ".", removes leading '.' otherwise. If timeoutSeconds < 0, no timeout alarm is used. */ Bool Prt_getTxtLn( Str line, Bool *err, FILE *f, int timeoutSeconds ); /* Write text line to f. Escape "." at the beginning with another ".". Terminate with "\r\n". */ Bool Prt_putTxtLn( const char* line, FILE *f ); /* Write text buffer of lines each ending with '\n'. Replace '\n' by "\r\n". */ Bool Prt_putTxtBuf( const char *buf, FILE *f ); /* Write text-ending "."-line to f */ Bool Prt_putEndOfTxt( FILE *f ); /* Splits line in field and value. Field is converted to lower-case. */ Bool Prt_getField( Str resultField, Str resultValue, const char* line ); /* Search header. Works only with single line headers (ignores continuation lines */ Bool Prt_searchHeader( const char *artTxt, const char* which, Str result ); Bool Prt_isValidMsgId( const char *msgId ); void Prt_genMsgId( Str msgId, const char *from, const char *suffix ); void Prt_genPathHdr( Str pathHdr, const char *from ); Bool Prt_genFromHdr( Str fromHdr ); #endif