home *** CD-ROM | disk | FTP | other *** search
- ____________________ ____________________
- ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ##| ##| ######| ##| #####| ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
- ##| ##| ##|¯¯¯ ##| ##|¯##|
- ##| ##| ##| ##| ##| ##|
- ######| #####| ##| #####|
- ##|¯##| ##|¯¯ ##| ##|¯¯
- ##| ##| ##| ##| ##|
- ____________________ ##| ##| ######| #####| ##| _______________________
- ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¯¯ ¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
- ——————————————————————————————————————————————————————————————————————————
- ImageProtect Version 1.01 (27 Jan 1995)
- ——————————————————————————————————————————————————————————————————————————
- This program is © 1995 James Freeman. All Rights Reserved.
-
- It is FREEWARE. Use is at the owner’s risk.
- (For details, please read the conditions below.)
-
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- G E N E R A L I N F O R M A T I O N
- ——————————————————————————————————————————————————————————————————————————
- Sattinger’s Law: It works better if you plug it in.
- ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– Arthur Bloch
-
- Program: ImageProtect
-
- Purpose: Prevents the accidental deletion of non-empty image files.
-
- Requires: RISC OS 3.1x or later.
-
- Features: * Module takes up only 476 bytes.
- * Hand-written in ARM code.
-
-
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- W H O ? W H A T ? W H E N ? H O W ?
- ——————————————————————————————————————————————————————————————————————————
- It ain’t what a man don’t know that makes him a fool,
- but what he does know that ain’t so.
- –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– Josh Billings
-
- This program was written in ARM using Zap 1·20 and SAsm 1·45. This text
- reader was created by ViewHelp 1·15. My thanks to Dominic Symes and
- David Radford for putting these programs into the public domain. SAsm
- is shareware and written by David Holden.
-
- If you use any of this code in an application of your own (PD or Freeware
- only, mind), please give me credit. I’ll email you the source if you
- *really* want it. (Don’t know why anyone would :-)
-
- Apologies if you use a territory other than UK on your Arc - text within
- the program is in English only.
-
- I give no guarantee that this program will work correctly on all machines
- and all configurations - but it works for me. Take it or leave it.
-
-
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- S U M M A R Y
- ——————————————————————————————————————————————————————————————————————————
- Nothing is so useless as a general maxim.
- –––––––––––––––––––––––––––––––––––––––––––––––––––––––––– Thomas Macaulay
-
- This directory contains:
-
- !Help.* Help text and reader.
- ImageProt The module.
-
- With RISC OS 3 came image files; and what a difference they made :-) If
- you don’t know what an image file is, examples are archives and PC
- partitions. They may look like directories, but are actually files and
- are still treated as such in one important respect: they can be very
- easily deleted.
-
- To illustrate this difference, here are a couple of examples.
-
- * You delete a directory from the Filer menu on the desktop.
- The Filer Action Window recursively deletes each unlocked file within
- the directory; locked files are safe.
-
- * You delete an image from the Filer menu on the desktop.
- If the image is unlocked, it will be immediately deleted, whether or
- not there are any locked files inside. Very worrying. And not very
- nice if you accidentally lose a 4Mb PC partition (for example).
-
- “OK,” you might say, “the solution is simple - I’ll just lock the image
- file against deletion.” Well, that’s what I thought, but trying this with
- my archives showed up a problem - write accesses to a locked file fail
- even if the file has write access (‘LWR/’ for example).
-
- In other words, I can either have safe archives which I can’t write to, or
- archives that I can write to but that I can also very easily delete by
- accident. And why did I write this program? Because I learnt first hand
- how easy it was to accidentally delete an archive.
-
- Loading the module activates the protection. Now trying to delete an
- image file which contains other files will generate an error.
-
- If you like this program, please drop me a quick line. I’m not asking for
- money, but I normally spend a lot of time getting my programs ‘just right’
- - just one line of email would be nice :-)
-
-
- FURTHER DETAILS
- ———————————————
-
- The module only concerns itself with whether or not the image file is
- empty (ie. does not contain other files; this has nothing to do with the
- image file length since an archive may be empty but still have a nominal
- file length for the header information etc). Whether any files within the
- image are locked or not is immaterial.
-
- But what happens when you *do* want to delete an image file? Well, there
- are two alternatives.
-
- * Choose ‘Options ⇨ Force’ from the Filer menu. When enabled, this sets
- a bit in CMOS RAM. This bit is checked for by ImageProtect; if it is
- set, the module disables its protection. To enable it .. yep, you’ve
- guessed it, just untick the option on the Filer menu. Note that the
- options menu provided by Filer Action Window does not set the CMOS RAM
- options and so will have no effect on ImageProtect.
-
- * Change the image’s filetype to (say) text, and then delete it.
-
- TECHNICAL DETAILS
- —————————————————
-
- Note that the module only claims FileV (the vector for OS_File). This
- means that it can intercept deletes from the desktop and also prevent
- *Delete and *Remove from the command line.
-
- Most importantly, it does not claim FSCV (the vector for OS_FSControl)
- which is used (amongst other things) for *Wipe. In other words, *Wipe may
- still be used to get rid of those now hard-to-delete archives :-)
-
-
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- P R O G R A M H I S T O R Y
- ——————————————————————————————————————————————————————————————————————————
- The World Record holder for blowing a bugle whilst
- riding a bike uphill dragging four hundredweight
- of pig iron and holding his breath is buried at...
- ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– Spike Milligan
-
- 1.00 First version for RISC OS 3·10.
- 1.01 Check on CMOS ‘force’ bit.
- FIRST RELEASE VERSION, uploaded to Hensa, sent to APDL.
-
-
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- L A S T W O R D S
- ——————————————————————————————————————————————————————————————————————————
- Die, my dear doctor? That’s the last thing I shall do.
- ––––––––––––––––––––––––––––––––––––––––––––––––– Lord Palmerston (Attrib)
-
- * Distribution - terms and conditions:
- —−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—
- This program is “freeware”; this means ‘freely distributable’. You
- may give a copy to anyone but there must be no charge. For PD and
- shareware libraries, a small fee for the costs of discs, postage and
- administration is allowed, provided that the cost of the disc upon
- which this software is included is NOT MORE THAN UK£1·75 for an 800K
- disc, or £2·50 for a 1600K disc. All files connected with this
- application must be distributed in an UNALTERED state.
- —−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—
-
- * PLEASE NOTE THAT THIS PROGRAM IS NOT PUBLIC DOMAIN.
-
- * If you have any queries, praises or bug reports (please be specific)
- you may contact me at the address below. I may be contacted via
- Pasture Hill Cottage, Stobarts Lane, Low Worsall, Yarm, Cleveland,
- TS15 9PJ, (England). Even better, email me at my JANET address:
- ‘j.freeman@uea.ac.uk’.
-
- * Legal note:
- —−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—
- The expression ‘the author’ means Mr James P Freeman. The text
- following applies to files within this package written by the author;
- any other files are subject to different conditions. The author
- retains full copyright of this software. Distribution is subject to
- the conditions above. This software is supplied ‘as is.’ USE IS
- ENTIRELY AT THE USER’S OWN RISK. It carries NO WARRANTY, express or
- implied, and NO GUARANTEE is given of its MERCHANTABILITY, SUITABILITY
- or FITNESS FOR ANY PURPOSE. The author accepts no responsibility
- whatsoever and under no circumstances will be liable for any damage,
- whether physical or economic, or any direct, indirect or consequential
- loss arising through, or in any way connected with, the use or misuse
- of this software or any files or routines contained herein - even if
- the author has been advised of the possibility of such loss. The
- author reserves the right to amend this notice and/or alter the
- distribution conditions of this software package at any time.
- —−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—−—
-
- * What..? You still reading?
-
-
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- E R R A T U M
- ——————————————————————————————————————————————————————————————————————————
- This slip has been inserted by mistake.
- –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– Alisdair Gray
-