HPlogo User Logging Programmer's Guide: HP 3000 MPE/iX Computer Systems

Appendix B Record Formats

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Record formats are required for direct access to the logging files by the user. The following logging record formats indicate where information resides during the logging process.

Logging Record Format: record size = 128 words user area = 119 words

0      2       3      4      6      7       11     12        24    25    127

----------------------------------------------------------------------------

|      |       |      |      |      |       |      |         |     |       |

| rec# | cksum | code | time | date | logid | log# | creator | pcb |       |

|------|-------|------|------|------|-------|------|---------|-----|-------|

                          Log Record at OPENLOG

  



0      2       3      4      6      7      8     9                       127

----------------------------------------------------------------------------

|      |       |      |      |      |      |     |                         |

| rec# | cksum | code | time | date | log# | len |        user area        |

|------|-------|------|------|------|------|-----|-------------------------|

                          Log Record at WRITELOG



 

0      2       3      4      6      7       11    12        24    25     127  

----------------------------------------------------------------------------

|      |       |      |      |      |       |     |         |     |        |

| rec# | cksum | code | time | date | logid |log# | creator | pcb |        |

|------|-------|------|------|------|-------|-----|---------|-----|--------|

                          Log Record at CLOSELOG

 



0      2       3      4      6      7                                    127

----------------------------------------------------------------------------

|      |       |      |      |      |                                      |

| rec# | cksum | code | time | date |                                      |

|------|-------|------|------|------|--------------------------------------|

                               Crash Mark
0      2       3      4      6      7       11                           127  

----------------------------------------------------------------------------

|      |       |      |      |      |       |                              |

| rec# | cksum | code | time | date | logid |                              |

|------|-------|------|------|------|-------|------------------------------|

                      Header Record (Start/Restart)



 

0      2       3      4      6      7       11                           127

----------------------------------------------------------------------------

|      |       |      |      |      |       |                              |

| rec# | cksum | code | time | date | logid |                              |

|------|-------|------|------|------|-------|------------------------------|

                           Trailer Record (Stop)





0      2       3      4      6      7                                    127

----------------------------------------------------------------------------

|      |       |      |      |      |                                      |

| rec# | cksum | code | time | date |                                      |

|------|-------|------|------|------|--------------------------------------| 

                               Null Record





0      2       3      4      6      7      8     9                       127

----------------------------------------------------------------------------

|      |       |      |      |      |      |     |                         |

| rec# | cksum | code | time | date | log# | len |       user area         |

|------|-------|------|------|------|------|-----|-------------------------|

                            Begin Transaction Marker

     



0      2       3      4      6      7      8     9                       127

----------------------------------------------------------------------------

|      |       |      |      |      |      |     |                         |

| rec# | cksum | code | time | date | log# | len |       user area         |

|------|-------|------|------|------|------|-----|-------------------------|

                             End Transaction Marker
0      2       3      4      6      7       11    12       14

---------------------------------------------------------------------

|      |       |      |      |      |       | seq |        |        |

| rec# | cksum | code | time | date | logid | num | c-time | c-date |

|------|-------|------|------|------|-------|-----|--------|--------|



15            33       34            52       53            71       72  127

----------------------------------------------------------------------------

|             |        |             |        |             |        |     |

| f-file-name | f-type | p-file-name | p-type | c-file-name | c-type |     |

|-------------|--------|-------------|--------|-------------|--------|-----|

                             Log Record at CHANGELOG

Table B-1 lists the code definitions of record formats, and Table B-2 lists the data fields of log records. (Notes for each follow the tables.)

Table B-1 Code Definition

Code=#Definition
(8:8)1Open log record
 2User/subsystem record
 3Close log record
 4Header record
 5Trailer record
 6Restart record
 7Continuation of user subsystem record
 9Crash marker
 10End transaction record
 11Begin transaction record
 12Change log record (resides in new file; points to old file)
 13Change log record (resides in old file; points to new file)
 32Null record
(0:8) Subsystem code (can be specified with Privmode only)

 

Code Definition Notes:

The code in the second byte of Word 3 of each logging record identifies the type of record. For example, a "1" in the second half of the third word indicates an OPENLOG record.

Privileged users can define a subsystem code in the first half of the logging record code word bits (0:8). This code is passed in the index parameter of the OPENLOG intrinsic.

The null record is used as a filler.

If Code = 12, then p-file-name = previous file in the set and p-file-name = previous file type in the set.

If Code = 13, then p-file-name = next file in the set and p-file-name = next file type in the set.

Table B-2 Data Fields of Log Records

FieldDescription
REC# Double Integer
CKSUM Integer
CODE Integer
TIME Double Integer (from CLOCK intrinsic)
DATE Integer (from CALENDAR intrinsic)
LOGID ASCII
LOG# Integer
LEN Integer
USERAREA ASCII
CREATOR ASCII (Name of user which opened the file)
PCB Integer
SEQ NUM Integer
C-DATE Double Integer
C-TIME Double
F-FILE-NAME ASCII
P-FILE-NAME ASCII
C-FILE-NAME ASCII
F-TYPE Integer
P-TYPE Integer
C-TYPE Integer

 

Data Fields of Log Records Notes:

The checksum (CKSUM) algorithm uses the Exclusive-Or (XOR) function against a base of negative one.

The length field (LEN) contains the length passed to WRITELOG, BEGINLOG, or ENDLOG. If a CONTINUATION record is part of the transaction, that record will also contain the data length. For example, if a length of 140 (words) is passed to the intrinsic, the LEN field will contain 140. Since the user area will only accommodate 119 words the remaining 21 words will be stored in the CONTINUATION record. The LEN field of the CONTINUATION record will indicate the total number of words in the transaction (140 in this example). A positive number indicates 16-bit words; a negative number refers to 8-bit bytes.

Feedback to webmaster