<?xml version="1.0"?>
<!--
    ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements. See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    ====================================================================
-->
<record fromfile="true" name="LSTF" package="org.apache.poi.hwpf.model.types">
    <suffix>AbstractType</suffix>
    <description>The LSTF structure contains formatting properties that apply to an entire list.
        &lt;p&gt;Class and fields descriptions are quoted from Microsoft Office Word 97-2007 Binary
        File Format and [MS-DOC] - v20110608 Word (.doc) Binary File Format
    </description>
    <author>Sergey Vladimirov; according to Microsoft Office Word 97-2007 Binary File Format
        Specification [*.doc] and [MS-DOC] - v20110608 Word (.doc) Binary File Format
    </author>
    <fields>
        <field type="int" size="4" name="lsid"
            description="A signed integer that specifies the list identifier. This MUST be unique for each LSTF. This value MUST not be 0xFFFFFFFF"/>
        <field type="int" size="4" name="tplc"
            description="A Tplc that specifies a unique identifier for this LSTF that MAY be used for user interface purposes. If fHybrid is nonzero, this MUST be ignored"/>
        <field type="short[]" size="18" name="rgistdPara"
            description="An array of nine 16-bit signed integers. Each element of rgistdPara specifies the ISTD of the style that is linked to the corresponding level in the list. If no style is linked to a given level, the value of the corresponding element of rgistdPara MUST be 0x0FFF"/>
        <field type="byte" size="1" name="flags">
            <bit mask="0x01" name="fSimpleList"
                description="A bit that, when set to 0x1, specifies that this LSTF represents a simple (one-level) list that has one corresponding LVL (see the fcPlfLst field of FibRgFcLcb97). Otherwise, this LSTF represents a multi-level list that has nine corresponding LVLs"/>
            <bit mask="0x02" name="unused1" deprecated="true" description="This bit MUST be ignored"/>
            <bit mask="0x04" name="fAutoNum"
                description="A bit that specifies whether the list that this LSTF represents is used for the AUTONUMOUT, AUTONUMLGL, and AUTONUM fields (see AUTONUMOUT, AUTONUMLGL, and AUTONUM in flt)"/>
            <bit mask="0x08" name="unused2" deprecated="true" description="This bit MUST be ignored"/>
            <bit mask="0x10" name="fHybrid"
                description="A bit that specifies whether the list this LSTF defines is a hybrid list"/>
            <bit mask="0xE0" name="reserved1" deprecated="true"
                description="This MUST be zero, and MUST be ignored."/>
        </field>
        <field type="Grfhic" size="1" name="grfhic"
            description="A grfhic that specifies the HTML incompatibilities of the list."/>
    </fields>
</record>
