1*0Sstevel@tonic-gate // Copyright (c) 1994 James Clark
2*0Sstevel@tonic-gate // See the file COPYING for copying permission.
3*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
4*0Sstevel@tonic-gate 
5*0Sstevel@tonic-gate #ifndef StorageObjectPosition_INCLUDED
6*0Sstevel@tonic-gate #define StorageObjectPosition_INCLUDED 1
7*0Sstevel@tonic-gate 
8*0Sstevel@tonic-gate #include "Boolean.h"
9*0Sstevel@tonic-gate #include "types.h"
10*0Sstevel@tonic-gate #include "Owner.h"
11*0Sstevel@tonic-gate #include "CodingSystem.h"
12*0Sstevel@tonic-gate #include <stddef.h>
13*0Sstevel@tonic-gate 
14*0Sstevel@tonic-gate #ifdef SP_NAMESPACE
15*0Sstevel@tonic-gate namespace SP_NAMESPACE {
16*0Sstevel@tonic-gate #endif
17*0Sstevel@tonic-gate 
18*0Sstevel@tonic-gate struct StorageObjectPosition {
19*0Sstevel@tonic-gate   StorageObjectPosition();
20*0Sstevel@tonic-gate   // the number of RSs preceding line 1 of this storage object
21*0Sstevel@tonic-gate   // or -1 if this hasn't been computed yet.
22*0Sstevel@tonic-gate   size_t line1RS;
23*0Sstevel@tonic-gate   Owner<Decoder> decoder;
24*0Sstevel@tonic-gate   // Does the storage object start with an RS?
25*0Sstevel@tonic-gate   PackedBoolean startsWithRS;
26*0Sstevel@tonic-gate   // Were the RSs other than the first in the storage object inserted?
27*0Sstevel@tonic-gate   PackedBoolean insertedRSs;
28*0Sstevel@tonic-gate   Offset endOffset;
29*0Sstevel@tonic-gate   StringC id;
30*0Sstevel@tonic-gate };
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate #ifdef SP_NAMESPACE
33*0Sstevel@tonic-gate }
34*0Sstevel@tonic-gate #endif
35*0Sstevel@tonic-gate 
36*0Sstevel@tonic-gate #endif /* not StorageObjectPosition_INCLUDED */
37