Status and Text Reference Coding
Requirements
Primary Requirements – phase I
- The results of the project must be usable in 'C' language or 'C'
language derivative programs.
- The status information must indicate whether or not the current result
is usable.
In particular the standard macro
EXIT_SUCCESS must indicate a
usable result and the standard macro EXIT_FAILURE must
indicate an unusable result.
- The status information should also indicate whether or not the current
operation sequence can continue.
In particular the standard macro
EOF must indicate no usable
result and that normal operations can not continue without
intervention.
- Any additional space in the status value should be used to provide
details of what the context of the generated status code was.
This might include which library or program generated the status and a
status category.
- The library or program identifiers should probably be grouped to
indicate the people or company responsible for maintaining the library or
program.
Secondary Requirements
- The implementation should make it easier to quickly understand the
intent of the code.
For example, a macro called
isGood(status) or
isBad(status) reads faster than a mask and compare
expression.
- Given the ability to associate a particular text string with a
particular status code,
it is probably desirable to allow access to translations of other text
strings using this facility.
It would be nice if...
The text storage scheme could make it easier to translate the text from one
language to another.
For example, different languages have different standard word orders for
different kinds of sentences.
If a meta-language description or grammatical analysis of the text to be
translation was available,
it could simplify the translation process.
Similarly, the identification of particular words or phrases that appear in
many different messages could be identified,
translated once and used consistently in all messages.
One use of return status values is to return a count of some sort
back to the caller along with the usual indicators.
(There was a VMS internal bug where the caller expected a status_t
equivalent while the called routine actually returned a count.
The problem delayed the acceptance of a significant set of security
capabilities.)
Primary Requirements – phase II
Note that the information in this section is preliminary and subject to
change when Phase I is complete.
- A function or method should exist that maps the status code to
displayable text.
- It should be possible to change the status code to text mapping
depending on the user's language or cultural preference.
References
Note that access to POSIX standards requires a free (as in beer)
registration.
EXIT_SUCCESS
EXIT_FAILURE
- Both
EXIT_SUCCESS and EXIT_FAILURE are defined
by POSIX.1
<stdlib.h>.
EOF
- See POSIX.1
<stdio.h>.
- Text lookup
- VMS $PUTMSG system
service.
- [others TBS]
NOTE
The information on this page is preliminary and will not be
maintained after initial development is complete. For current information
see the Programmer's Guide.
Work List:
- Add POSIX text lookup citations to the references.
- Is $PUTMSG the correct referent? $GETMSG?
|