9.1.3.3
System String Control
The EX-BIOS provides a centralized and flexible mechanism for accessing and using strings. Each
string in the system has a unique index number associated with it. Drivers and application
programs can request access to a string via these indices. In addition, functions are available to
~
return the index of a given string, return the next available index, and to add and delete strings
from the system.
A string index may be any word value (O-OFFFFH). Certain ranges of indices have predefined
meanings or uses. These predefined ranges are listed below.
0-2K
2-4K
4-32K
32-64K
Any index in this range is reserved for string names of EX-BIOS drivers.
This range is reserved for strings stored in the ROM-BIOS.
This range should be used by application programs to add strings to the
system.
These indices are reserved for localized strings. Indices within this range are
partitioned in the same way as in the lower 32K (i.e., 32-34K for string
names of EX-BIOS drivers, etc.).
This index structure provides a powerful tool for localizing application programs. If an application
program references messages as string indices, the program can easily be localized by loading a
localized set of strings (using a device driver for example), and setting bit 15 of all string indices
used.
System strings are grouped into buckets. A bucket is a collection of strings which are grouped
together. There is no fixed limit on the number of strings which may be stored in a bucket.
However, strings are added and deleted in buckets, not individually. Therefore, strings that are
likely to be added or deleted together should be stored in the same bucket.
Each bucket consists of three separate data structures; the bucket header, bucket pointers, and
the bucket itself. These components are illustrated in figure 9.2. The function of each is
described below:
Bucket Header-The bucket header is the top level data structure. All bucket headers are
linked together in a chain. The first two fields in the header contain the offset and segment
of the next bucket header in the chain. If these fields both contain OFFFFH, then this bucket
header is the last in the chain. The highest and lowest string indices contained in the bucket
are stored in the next two fields. The following two fields contain the offset and segment of
the bucket pointer. Finally, the last field contains the segment of the strings themselves.
268
System Drivers
Need help?
Do you have a question about the Vectra and is the answer not in the manual?
Questions and answers