43 |
* Document Record:: |
* Document Record:: |
44 |
* Machine int32 Info Record:: |
* Machine int32 Info Record:: |
45 |
* Machine flt64 Info Record:: |
* Machine flt64 Info Record:: |
46 |
|
* Auxilliary Variable Parameter Record:: |
47 |
|
* Long Variable Names Record:: |
48 |
* Miscellaneous Informational Records:: |
* Miscellaneous Informational Records:: |
49 |
* Dictionary Termination Record:: |
* Dictionary Termination Record:: |
50 |
* Data Record:: |
* Data Record:: |
469 |
indicates 8-bit ASCII, 4 indicates DEC Kanji. |
indicates 8-bit ASCII, 4 indicates DEC Kanji. |
470 |
@end table |
@end table |
471 |
|
|
472 |
@node Machine flt64 Info Record, Miscellaneous Informational Records, Machine int32 Info Record, Data File Format |
@node Machine flt64 Info Record, Auxilliary Variable Parameter Record, Machine int32 Info Record, Data File Format |
473 |
@section Machine @code{flt64} Info Record |
@section Machine @code{flt64} Info Record |
474 |
|
|
475 |
There must be no more than one machine @code{flt64} info record per |
There must be no more than one machine @code{flt64} info record per |
515 |
The value used for LOWEST in missing values. |
The value used for LOWEST in missing values. |
516 |
@end table |
@end table |
517 |
|
|
518 |
@node Miscellaneous Informational Records, Dictionary Termination Record, Machine flt64 Info Record, Data File Format |
@node Auxilliary Variable Parameter Record, Long Variable Names Record, Machine flt64 Info Record, Data File Format |
519 |
|
@section Auxilliary Variable Parameter Record |
520 |
|
|
521 |
|
There must be no more than one auxilliary variable parameter record per |
522 |
|
system file. This record must follow the variable |
523 |
|
records and precede the dictionary termination record. |
524 |
|
|
525 |
|
@example |
526 |
|
struct sysfile_aux_var_parameter |
527 |
|
@{ |
528 |
|
/* Header. */ |
529 |
|
int32 rec_type; |
530 |
|
int32 subtype; |
531 |
|
int32 size; |
532 |
|
int32 count; |
533 |
|
|
534 |
|
/* Data. */ |
535 |
|
struct aux_params aux_params[/* variable length */]; |
536 |
|
@}; |
537 |
|
@end example |
538 |
|
|
539 |
|
@table @code |
540 |
|
@item int32 rec_type; |
541 |
|
Record type. Always set to 7. |
542 |
|
|
543 |
|
@item int32 subtype; |
544 |
|
Record subtype. Always set to 11. |
545 |
|
|
546 |
|
@item int32 size; |
547 |
|
The size @code{int32}. Always set to 4. |
548 |
|
|
549 |
|
@item int32 count; |
550 |
|
The total number of bytes in @code{aux_params} divided by 3. |
551 |
|
|
552 |
|
@item struct aux_params aux_params[]; |
553 |
|
An array of @code{struct aux_params}. The order of the elements corresponds |
554 |
|
to the order of the variables in the Variable Records. The @code{struct aux_params} type is defined as follows: |
555 |
|
|
556 |
|
@example |
557 |
|
struct aux_params |
558 |
|
@{ |
559 |
|
int32 measure; |
560 |
|
int32 width; |
561 |
|
int32 alignment; |
562 |
|
@}; |
563 |
|
@end example |
564 |
|
|
565 |
|
@table @code |
566 |
|
@item int32 measure |
567 |
|
The measurement type of the variable: |
568 |
|
@table @asis |
569 |
|
@item 0 |
570 |
|
Nominal Scale |
571 |
|
@item 1 |
572 |
|
Ordinal Scale |
573 |
|
@item 2 |
574 |
|
Continuous Scale |
575 |
|
@end table |
576 |
|
|
577 |
|
@item int32 width |
578 |
|
The width of the display column for the variable in characters. |
579 |
|
|
580 |
|
@item int32 alignment |
581 |
|
The alignment of the variable for display purposes: |
582 |
|
|
583 |
|
@table @asis |
584 |
|
@item 0 |
585 |
|
Left aligned |
586 |
|
@item 1 |
587 |
|
Right aligned |
588 |
|
@item 2 |
589 |
|
Centre aligned |
590 |
|
@end table |
591 |
|
|
592 |
|
@end table |
593 |
|
|
594 |
|
|
595 |
|
|
596 |
|
@end table |
597 |
|
|
598 |
|
|
599 |
|
|
600 |
|
@node Long Variable Names Record, Miscellaneous Informational Records, Auxilliary Variable Parameter Record, Data File Format |
601 |
|
@section Long Variable Names Record |
602 |
|
|
603 |
|
There must be no more than one long variable names record per |
604 |
|
system file. This record must follow the variable |
605 |
|
records and precede the dictionary termination record. |
606 |
|
|
607 |
|
@example |
608 |
|
struct sysfile_long_variable_names |
609 |
|
@{ |
610 |
|
/* Header. */ |
611 |
|
int32 rec_type; |
612 |
|
int32 subtype; |
613 |
|
int32 size; |
614 |
|
int32 count; |
615 |
|
|
616 |
|
/* Data. */ |
617 |
|
char var_name_pairs[/* variable length */]; |
618 |
|
@}; |
619 |
|
@end example |
620 |
|
|
621 |
|
@table @code |
622 |
|
@item int32 rec_type; |
623 |
|
Record type. Always set to 7. |
624 |
|
|
625 |
|
@item int32 subtype; |
626 |
|
Record subtype. Always set to 13. |
627 |
|
|
628 |
|
@item int32 size; |
629 |
|
The size of each element in the @code{var_name_pairs} member. Always set to 1. |
630 |
|
|
631 |
|
@item int32 count; |
632 |
|
The total number of bytes in @code{var_name_pairs}. |
633 |
|
|
634 |
|
@item char var_name_pairs[/* variable length]; |
635 |
|
A list of @var{key}--@var{value} tuples, where @var{key} is the name |
636 |
|
of a variable, and @var{value} is its long variable name. |
637 |
|
The @var{key} field is at most 8 bytes long and must match the |
638 |
|
name of a variable which appears in the variable record @xref{Variable Record}. |
639 |
|
The @var{value} field is at most 64 bytes long. |
640 |
|
The @var{key} and @var{value} fields are separated by a @samp{=} byte. |
641 |
|
Each tuple is separated by a byte whose value is 09. There is no |
642 |
|
trailing separator following the last tuple. |
643 |
|
The total length is @code{count} bytes. |
644 |
|
@end table |
645 |
|
|
646 |
|
|
647 |
|
@node Miscellaneous Informational Records, Dictionary Termination Record, Long Variable Names Record, Data File Format |
648 |
@section Miscellaneous Informational Records |
@section Miscellaneous Informational Records |
649 |
|
|
650 |
Miscellaneous informational records must follow the variable records and |
Miscellaneous informational records must follow the variable records and |