diff options
Diffstat (limited to 'replay.h')
-rw-r--r-- | replay.h | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -38,13 +38,25 @@ #define TIMELENF 11 // [HH:MM:SS] = 10 characters + 1 for null char #define DATETIMELEN 50 // Should be enough for a full datetime string // TODO - Is it!? I think it will only ever be as long as [DD/MM/YY HH:MM:SS] (20 including null) -int replaylines(int seconds, char *basedir); +// Return the number of lines in the replay log since 'seconds' seconds ago, or -1 if there a problem. +// 'basedir' is the directory in which to find 'replay.log'. +int replaylinestime(int seconds, char *basedir); int readreplayline(int seconds, int linenum, char *str, struct settings *settings, struct ircdstate *ircdstate); -// Returns the number of seconds ago that 'nick' last spoke, or -1 if there is a problem. +// Returns the line number in the replay log file on which 'nick' last spoke, or -1 if there is a problem. // 'basedir' is the directory in which to find 'replay.log'. -int lastspokesecondsago(char *nick, char *basedir); +long lastspokelinenumber(char *nick, char *basedir); + +// Send the requested number of seconds worth of replay log lines to the requested client. +// 'sourcefd' is the client to send to, and 'replayseconds' is the number of +// seconds of replay log to replay. +// Returns 1 for success or 0 for failure. +int doreplaytime(int sourcefd, int replayseconds, struct client *clients, struct settings *settings, struct ircdstate *ircdstate, struct channel *channels); + +// Send replay log lines from line number 'linenumber' onwards, to client 'sourcefd'. +// Returns 1 for success or 0 for failure. +int doreplaylastspoke(int sourcefd, long linenumber, struct client *clients, struct settings *settings, struct ircdstate *ircdstate, struct channel *channels); int writereplayline(char *str, char *basedir); |