SCCSFILE(5)

NAME
sccsfile - format of SCCS file

DESCRIPTION
An SCCS file is an ASCII file. It consists of six logical parts: the checksum, the delta table (contains information about each delta), user names (contains login names of users who may add deltas), flags (contains definitions of internal keywords), comments (contains arbitrary descriptive information about the file), and the body (contains the actual text lines intermixed with control lines).

Throughout an SCCS file there are lines which begin with the ASCII SOH (start of heading) character (octal 001). This character is hereafter referred to as ``the control character'' and will be represented graphically as ``@''. Any line described below which is not depicted as beginning with the control character is prevented from beginning with the control character.

Entries of the form ``DDDDD'' represent a five digit string (a number between 00000 and 99999).

Each logical part of an SCCS file is described in detail below.

Checksum. The checksum is the first line of an SCCS file. The form of the line is:
    @hDDDDD
The value of the checksum is the sum of all characters, except those of the first line. The ``@h'' provides a ``magic number'' of (octal) 064001.

Delta table. The delta table consists of a variable number of entries of the form:
    @s DDDDD/DDDDD/DDDDD
    @d <type> <SCCS ID> yr/mo/da hr:mi:se <pgmr> DDDDD DDDDD
    @i DDDDD ...
    @x DDDDD ...
    @g DDDDD ...
    @m <MR number>
      .
      .
      .
    @c <comments> ...
      .
      .
      .
    @e

The first line (@s) contains the number of lines inserted/deleted/unchanged respectively. The second line (@d) contains the type of the delta (currently, normal: `D', and removed: `R'), the SCCS ID of the delta, the date and time of creation of the delta, the login name corresponding to the real user ID at the time the delta was created, and the serial numbers of the delta and its predecessor, respectively.

The @i, @x, and @g lines contain the serial numbers of deltas included, excluded, and ignored, respectively. These lines are optional.

The @m lines (optional) each contain one MR number associated with the delta; the @c lines (optional) contain comments associated with the delta.

The @e line ends the delta table entry.

User names. The login names of users who may add deltas to the file, separated by newlines. The lines containing these login names are surrounded by the bracketing lines ``@u'' and ``@U''. An empty list of user names allows anyone to make a delta.

Flags. Keywords used internally. Each flag line takes the form:
    @f <flag>    <optional text>
There are, at present, only eight flags defined:
    @f t	<type of program>
    @f v	<program name>
    @f i
    @f b
    @f m	<module name>
    @f f	<floor>
    @f c	<ceiling>
    @f d	<default-sid>
The ``t'' flag defines the replacement for the %Y% identification keyword. The ``v'' flag controls prompting for MR numbers in addition to comments; if the optional text is present it defines an MR number validity checking program. The ``i'' flag controls the warning/error aspect of the ``No id keywords'' message. When the ``i'' flag is not present, this message is only a warning; when the ``i'' flag is present, this message will cause a ``fatal'' error (the file will not be gotten, or the delta will not be made). When the ``b'' flag is present the -b keyletter may be used on the get command to cause a branch in the delta tree. The ``m'' flag defines the first choice for the replacement text of the %M% identification keyword. The ``f'' flag defines the ``floor'' release; the release below which no deltas may be added. The ``c'' flag defines the ``ceiling'' release; the release above which no deltas may be added. The ``d'' flag defines the default SID to be used when none is specified on a get\c (1) command.

Comments. Arbitrary text surrounded by the bracketing lines ``@t'' and ``@T''. The comments section typically will contain a description of the file's purpose.

Body. The body consists of text lines and control lines. Text lines don't begin with the control character, control lines do. There are three kinds of control lines: insert, delete, and end, represented by:
    @I DDDDD
    @D DDDDD
    @E DDDDD
respectively. The digit string is the serial number corresponding to the delta for the control line.

SEE ALSO
get(1), delta(1), admin(1), prt(1)
SCCS/PWB User's Manual by L. E. Bonanni and A. L. Glasser.