diff --git a/src/include/kom-types.h b/src/include/kom-types.h index 8382be1bb3b289f6335cddf14df02a8fb3d01070..ff1820aa654b76007dcbee51577bf0428cdbe689 100644 --- a/src/include/kom-types.h +++ b/src/include/kom-types.h @@ -1,5 +1,5 @@ /* - * $Id: kom-types.h,v 0.51 2002/09/08 10:40:40 ceder Exp $ + * $Id: kom-types.h,v 0.52 2002/11/06 18:40:14 ceder Exp $ * Copyright (C) 1990-1999, 2001-2002 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -282,20 +282,30 @@ typedef struct { /* Information about a person's membership in a conference */ +struct read_range { + Local_text_no first_read; + Local_text_no last_read; +}; + typedef struct { unsigned long position; Conf_no conf_no; unsigned char priority; /* Interrupt priority */ Time last_time_read; /* Updated every time a text in this - conf. is marked as read. */ - Local_text_no last_text_read; /* All texts before and inclusive this - are read */ - unsigned short no_of_read; - Local_text_no * read_texts; /* Texts after last_text_read. Sorted - in ascending order */ - Pers_no added_by; + conference is marked as read. */ + unsigned int no_of_read_ranges; + struct read_range * read_ranges; /* Sorted in ascending order. */ + Pers_no added_by; Time added_at; Membership_type type; + + /* read_ranges is cleared before it reaches the Protocol A output + layer in certain situations, even though that layer wants to + emit the last-text-read element. This happens for example when + get-membership [99] is called with want-read-texts == 0. This + variable maintains the last-text-read value. */ + Bool skip_read_texts; + } Membership;