|
PRAGMA PROGRAM REFERENCE MANUAL
|
Index
|
All Operation
|
|
Expand All ADDENDUM
|
READ SECURITY VALUE
|
RSV
|
Standard Verb
|
Operating System Operation
|
Target =
|
Allows you to read certain areas of the security device. You cannot write to it under any circumstances. Location 0 is the serial number of the device, locations 1 through 8 are user definable numbers which must be specified when ordering the devices. Locations 10 through 12 contain other device parameters.
|
READ SECURITY VALUE location LOCATION NUMBER into the noun NOUN LOCATION NUMBER is the number of the block location to test. Valid range 0 to 8 and 10 to 12 only. NOUN is the noun you want the security value to be copied to.
|
SEE ALSO: REMOVE NAMES / RETURN TO OPERATING SYSTEM
|
READ SECURITY VALUE allows you to read certain areas of the security block. You cannot write to the block under any circumstances.
The first parameter to READ SECURITY VALUE is the number of the block location to read. The valid range is from 0 through 8 and 10 through 12. An invalid location number will cause an invalid numeric value error.
Location zero is the serial number of the block. This is preset by Logical when a block is made, and each block is different. The serial number is also printed on the sticker attached to the block. You have no control over this number. But you can use it to serialize your applications, if that is desired. And you do not have to do anything special to use this number. Also note that a few early blocks did not have serial numbers, and this location contains a zero.
Locations 1 through 8 are user definable numbers. You can put anything you want into them, but you must tell us when ordering a block what you want there. Otherwise, all eight of these numbers will be zero. You cannot set these numbers yourself. Only Logical can do that when programming the block. We can reprogram them for you, but you have to send the block back to us for that.
The first of these eight locations is also what used to be the application number of the block. Old blocks that were ordered and had a special number in them for application security, had something in user location 1. If you attempt to read such a block, this is what you will see. Every other location (2-8) until now has contained zero.
Location 9 is reserved for future use. If you attempt to read this location it will cause an invalid numeric value error.
Location 10 is the security device type. The following is a partial list of the various types. Outdated types have been omitted.
2 PRAGMA 3 programmable 3 PRAGMA 3 runtime 4 Fileserver 9 UNIX runtime 10 UNIX programmable 13 PRAGMA 4 runtime 14 PRAGMA 4 programmable 25 UNIX compiled 26 PRAGMA 4 compiled
Location 11 is the country or dealer number. The following is a partial list of the various countries.
6 Italy 22 USA 26 Europe
Location 12 is the application number. This number is usually zero. It will contain a number if a user definable number in the locations 1 through 8 is being used.
Some serial Unix blocks for minicomputers (the green ones) have no memory in them, and thus have no serial number and no user definable locations. All of them will be zero if READ SECURITY VALUE is attempted.
CAREFUL:
READ SECURITY VALUE does not actually read the security device at the moment the verb is run. The values are read by PRAGMA at startup and passed along to READ SECURITY VALUE. That means, for example, that you cannot employ READ SECURITY VALUE to check various security devices, one after another.
WARNING:
TRACE will NOT show where READ SECURITY VALUE is used.
EXCHANGE and EXCHANGE ALL will NOT allow READ SECURITY VALUE to be substituted for something else.
TRANSLATE TO C will refuse to translate anything if it finds verbs containing calls to READ SECURITY VALUE.
RECAP and RECAP ALL will skip over any line where READ SECURITY VALUE is used. The only place where you can see a definition line containing READ SECURITY VALUE is inside the definition editor (this is necessary of course).
SELECTIVE SAVE is entirely unaffected by the security explained here. This may sound strange at first. But it is felt that if you truly put enough READ SECURITY VALUE calls about, that if it is possible to SELECTIVE SAVE them all away, then all of the important parts of your application must be gone too.
TIP:
In order to provide security for your application, it is necessary to put LOTS of calls to READ SECURITY VALUE all around your application. It is NOT necessary to call READ SECURITY VALUE every other thing you do, as that will just slow down processing to a crawl. Rather, put a counter noun in, and only call READ SECURITY VALUE every 10th or 20th time through a certain place. The important thing is to have a lot of these calls spread around your application like land mines. It is not necessary that the land mines go off the first time they are stepped on; it is only important that they are there. Sooner or later the traffic over them will cause one of them to activate if the security block is incorrect. That should be sufficient.
|
|
|
CustomWare® is a registered trademark of CustomWare Designs, Inc. All rights reserved.
CustomWare® is a registered servicemark of CustomWare Designs, Inc. All rights reserved.
All images and designs on this web site are copyrighted© 2021.
v
t
|
|