3.1.3 Basic Scope Index Directory

The following file is 000100006.bsd in the example full-text index catalog and stores a basic scope index directory in the index directory file format, as specified in section 2.5.

 0000    00  00  00  00  00  00  00  00 - 02  00  00  00  02  00  00  00
 0010    01  00  00  00  01  00  00  00 - 01  00  00  00  d1  1e  55  66
 0020    69  6c  65  3a  2f  2f  63  6f - 37  34  35  2d  31  39  35  2f
 0030    66  69  6c  65  73  74  6f  63 - 72  61  77  6c  2a  01  00  00
 0040    92  81  7f  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 0050    ff  ff  ff  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 0060    ff  ff  ff  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 0070    ff  ff  ff  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 0080    ff  ff  ff  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 0090    ff  ff  ff  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 00a0    ff  ff  ff  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 00b0    ff  ff  ff  ff  ff  ff  ff  ff - ff  ff  ff  ff  ff  ff  ff  ff
 00c0    ff  ff  7f  00  00  00  00  00 - 00  00  00  00  00  00  00  00
 00d0    00  00  00  00  00  00  00  00 - 00  00  00  00  00  00  00  00
 00e0    00  00  00  00  00  00  00  00 - 00  00  00  00  00  00  00  00
 …
 0fd0    00  00  00  00  00  00  00  00 - 00  00  00  00  00  00  00  00
 0fe0    00  00  00  00  00  00  00  00 - 00  00  00  00  00  00  00  00
 0ff0    00  00  00  00  00  00  00  00 - 00  00  00  00  40  00  1c  00
  

The preceding example consists of one level and has the following structure.

Index Directory Page Header (12 bytes at address 0000)


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Page Base

First Record In Level

Record Count

Page Header Padding

Page Base (4 bytes): Set to 00 00 00 00.

First Record In Level (4 bytes): Set to 00 00 00 00.

Record Count (2 bytes): Set to 02 00.

Page Header Padding (2 bytes): Set to 00 00.

Index Directory File Header (16 bytes at address 0000-0010)


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Count Of Level 1 Records

Count Of Level 1 Pages

Total Count Of Pages

Count Of Levels

Padding

Count Of Level 1 Records (4 bytes): Set to 02 00 00 00.

Count Of Level 1 Pages (4 bytes): Set to 01 00 00 00.

Total Count Of Pages (4 bytes): Set to 01 00 00 00.

Count of Levels (1 byte): Set to 01.

Padding (3 bytes): Set to 00 00 00.

Record Data Buffer (4068 bytes at address 0010-0ff0.)


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Flags

Key Size

Key Bytes (30 bytes)

...

...

Property ID

BitStream Offset

BitStream Page

Flags

Key Size

Key Bytes (129 bytes)

...

...

Property ID

BitStream Offset

BitStream Page

...

...

Record Offset Array

Flags (1 byte): Set to d1.

Key Size (1 byte): Set to 1e for Key Size of 30.

Key Bytes (30 bytes): Set to 55 66 69 6c 65 3a 2f 2f 63 6f 37 34 35 2d 31 39 35 2f 66 69 6c 65 73 74 6f 63 72 61 77 6c.

Property ID (2 bytes): Set to 2a 01.

BitStream Offset (1 byte): Set to 00.

BitStream Page (1 byte): Set to 00.

Flags (1 byte): Set to 92.

Key Size (1 byte): Set to 81

Key Bytes (129 bytes): Starts with 7f and ends with 7f 00.

Property ID (4 bytes): Set to 00 00 00 00.

BitStream Offset (1 byte): Set to 00.

BitStream Page (1 byte): Set to 00.

... : Continuation.

Record Offset Array (4 bytes): Set to 40 00 1c 00.