TXTHEADER (Document toolkit)

typedef struct tagNITFTXTHEADER 
{
   L_CHAR   *  pTE;
   L_CHAR   *  pTEXTID;

   L_INT       uTXTALVL;

   NITFDATETIME    TXTDT;

   L_CHAR   *  pTXTITL; 
   L_CHAR   *  pTSCLAS;
   L_CHAR   *  pTSCLSY;
   L_CHAR   *  pTSCODE;
   L_CHAR   *  pTSCTLH;
   L_CHAR   *  pTSREL;
   L_CHAR   *  pTSDCTP;

   NITFDATE    TSDCDT;
   L_CHAR   *  pTSDCXM;
   L_CHAR   *  pTSDG;
   DATE        TSDGDT;
   L_CHAR   *  pTSCLTX;
   L_CHAR   *  pTSCATP;
   L_CHAR   *  pTSCAUT;
   L_CHAR   *  pTSCRSN;

   NITFDATE    TSSRDT;
   L_CHAR   *  pTSCTLN;

   L_UINT      uENCRYP;
   L_CHAR   *  pTXTFMT;

   L_UINT      uTXSHDL;
   L_UINT      uTXSOFL;
   L_UCHAR   *  pTXSHD;
}  TXTHEADER, * pTXTHEADER;

The TXTHEADER structure provides information about the text header for the NITF file.

Member

Description

pTE

* Pointer to a character string that contains the ID of the sub-header type to be used. Possible values are:

 

Value

Meaning

 

"TE"

Sub-header type is text.

pTEXTID

* Pointer to a character string that contains an alphanumeric sequence that represents the identification code associated with the text item. The valid codes are determined by the application.

uTXTALVL

* Value that represents the text attachment level. Possible values are 0 or the display level value of any image or graphic in the file.

TXTDT

* NITFDATETIME structure that contains information about the text date and time. This member will contain the time (UTC) (Zulu) of origination of the text.

pTXTITL

* Pointer to a character string that contains the text title.

pTSCLAS

* Pointer to a character string that contains a symbol value that represents the text security classification level. Possible values are:

 

Value

Meaning

 

"T"

Top Secret

 

"S"

Secret

 

"C"

Confidential

 

"R"

Restricted

 

"U"

Unclassified

pTSCLSY

* Pointer to a character string that represents the national or multinational security system used to classify the text.

pTSCODE

* Pointer to a character string that represents the text codewords that indicates the text security compartments. If a multiple graphic codewords are intended to pass to this member, the user should pass them separated by a single space.

pTSCTLH

* Pointer to a character string that contains an additional text security control and/or handling instructions (caveats).

The digraph may indicate single or multiple caveats.

pTSREL

* Pointer to a character string that contains a valid list of country and/or multilateral entity codes to which countries and/or multilateral entities the text is authorized for release. Valid items in the list are one or more country codes as found in FIPS PUB 10-4 and/or codes identifying multilateral entities. If this member is all spaces, it shall imply that no text release instructions apply.

pTSDCTP

* Pointer to a character string that contains a symbol characters that represents the text security declassification type or text downgrading instructions, Possible values are:

 

Value

Meaning

 

"DD"

Declassify on a specific date.

 

"DE"

Declassify upon occurrence of an event.

 

"GD"

Downgrade to a specified level on a specific date.

 

"GE"

Downgrade to a specified level upon occurrence of an event.

 

"O"

OADR.

 

"X"

Exempt from automatic declassification.

TSDCDT

* NITFDATE structure that contains information about the text declassification date.

This member is valid only if the value of the pTSDCTP member is set to "DD" string.

pTSDCXM

* Pointer to a character string that contains the reason why the graphic is exempt from automatic declassification.

This member is valid only if the value of the pTSDCTP member is set to "X" string.

pTSDG

* Pointer to a character string that contains a symbol value that represents the text downgrade classification level.

This member is valid only if the value of the pTSDCTP member is set to "GD" or "GE" string. Possible values are:

 

Value

Meaning

 

"S"

Secret.

 

"C"

Confidential.

 

"R"

Restricted.

 

If this member contains a space, it shall imply that file security downgrading does not apply.

TSDGDT

* NITFDATE structure that contains information about the date on which a text is to be downgraded.

This member is valid only if the value of the pTSDCTP member is set to "GD" string. If this member is all spaces, it shall imply that a text security downgrading date does not apply.

pTSCLTX

* Character string that contains the text classification text that includes the identification of declassification or downgrading event.

This member is valid only if the value of the pTSDCTP member is set to "DE" or "GE" strings. It may also be used to identify multiple classification sources and/or any other special handling rules. Values are user-defined free text. If this member is all spaces, it shall imply that additional information about text classification does not apply.

pTSCATP

* Pointer to a character string that contains a symbol value that represents the text classification authority type. Possible values are:

 

Value

Meaning

 

"O"

Original classification authority.

 

"D"

Derivative from a single source.

 

"M"

Derivative from multiple sources

 

If this member contains a space, it shall imply that text classification authority type does not apply.

pTSCAUT

* Pointer to a character string that contains the text classification authority dependent on the value of the pTSCATP member.

Values are user-defined free text which should contain the following information:

 

If the Value of pTSCATP member:

The information of pTSCAUT member contains:

 

"O"

Original classification authority name and position or personal identifier.

 

"D"

Title of the document or security classification guide used to classify the file.

 

"M"

Derive-Multiple if the file classification was derived from multiple sources.

 

In the latter case, the text originator will maintain a record of the sources used in accordance with existing security directives. One of the multiple sources may also be identified in Text Classification Text if desired. If this member is all spaces, it shall imply that no text classification authority applies.

pTSCRSN

* Pointer to a character string that contains a symbol character that represents the text classification reason. Possible values range from "A" to "G".

If this member contains a space, it shall imply that no text classification reason applies.

TSSRDT

* NITFDATE structure that contains a value that represents the text security source date. In the case of multiple sources, the date of the most recent source will be used.

pTSCTLN

* Pointer to a character string that contains the text security control number. The format of the security control number will be in accordance with the regulations governing the appropriate security channel(s). If this member is all spaces, it shall imply that no text security control number applies.

uENCRYP

* Reserved for future use. Pass 0.

pTXTFMT

* Pointer to a character string that contains a valid three characters code that indicates the format or type of text data.

uTXSHDL

* Value that represents the text extended sub-header data length. If the value of this member is 0, then no TREs are included in the text sub-header. If a TRE exists, the member will contain the sum of the length of all the TREs appearing in the pTSXHD member + 3 bytes (length of uTSXOFL member). If a TRE is too long to fit in the TXSHD member, it shall be put in the TRE overflow DES with DESID set to the value TRE_OVERFLOW.

uTXSOFL

* Value that represents the text extended sub-header overflow. If present, this member shall contain zero if TREs in pTXSHD do not overflow into a DES, or shall contain the sequence number in the file of the DES into which they do overflow. This member will be ignored if the member uTXSHDL contains 0.

pTXSHD

* Value that represents the text extended sub-header data. If present, this member shall contain TREs approved and under configuration management by the ISMC. The length of this member shall be the length specified by the member uTXSHDL - 3. TREs in this member shall contain information pertaining specifically to the text. TREs shall appear one after the other in this member with no intervening bytes. The first byte of this member shall be the first byte of the first TRE appearing in the member. The last byte of this member shall be the last byte of the last TRE to appear in the member. This member will be ignored if the member uTXSHDL is 0.

Comments

pTXTHEADER is a pointer to a TXTHEADER structure. Where a function parameter type is pTXTHEADER, declare a TXTHEADER variable and pass the variable's address in the parameter. Declaring a pTXTHEADER variable is necessary only if the program requires a pointer.

The following functions make use of this structure:

L_NITFGetTextHeader

L_NITFSetTextHeader