home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 9 / FreshFishVol9-CD2.bin / bbs / util / mcp-1.02.lha / MCP / PatchControl.doc < prev    next >
Text File  |  1995-04-12  |  3KB  |  69 lines

  1.                 ____               _____                               
  2.        o______ / _ /__ ____________\   _|______ ________ ____________ o
  3.        :\___  \  //___)\  __/ _  \  _  \_   __//  __/___)\  __/_  _  \:
  4.        ::/  \  \ / _\ \   _)_ \   \ \   |   _)_\____  \ \/  \  _\ \   \
  5.        :/   _\  \  // \\ /   \/   /  \  |  /   \  _/ // \\  _\ // /   /
  6.        /_________\ /____\_____\ //:\____|_______\____/____\____/_/  //:
  7.        o--/_______/---- - --/___/--- ----- -- - --- ---- -- ----/___/-o
  8.  
  9.                                   PRESENTS
  10.  
  11.                               PatchControl V1.0
  12.  
  13. Introduction:
  14.  Do you know the problem: a program cannot be removed, because it can't
  15.  remove there patches. (such as MCP when you save the prefs) This programs
  16.  will solve all problems with systempatches. All programs can remove there
  17.  patches. It's compatible to Setman.
  18.  
  19. Difference between Setman and PatchControl.
  20.  Without Setman or PatchControl only the last program that patches a vector
  21.  can remove itself. All programs that support Setman (like MCP) can always be
  22.  removed. But there are programs (like Snoopy or Enforcer) that doesn't
  23.  support Setman cannot be removed. This meens that programs without a Setman
  24.  support can never be removed. PatchControl solved this problem.
  25.  
  26. Installation:
  27.  Start it right after Setpatch in your startup-sequence.
  28.  
  29. For programers:
  30.  It's very easy to use. Make Findport() "SetMan". If the "SetMan" port exists,
  31.  remove the patches ( with SetFunction() ) without checking. PatchControl will
  32.  do the rest.
  33.  
  34. Developers: (Viruskiller coders)
  35.  You can get a list auf all patches:
  36.   Make Findport("SetMan") and the read out the MP_SIGTASK APTR (in old SetMan
  37.   this will be zero). In the SIGTASK (named PatchControl) read out the
  38.   TC_USERDATA. This is a pointer to a patchlist.
  39.   Patchlist:
  40.    APTR  LibraryBase
  41.    ULONG Offset
  42.    APTR  PatchNode         ;First Node
  43.  
  44.    APTR  LibraryBase
  45.    ULONG Offset
  46.    APTR  PatchNode
  47.     .                      ;Here will follow a number of this structures.
  48.     .                      ;With a zero in APTR Library the list ends.
  49.     .
  50.  
  51.   PatchNode:
  52.    APTR  Next_Node         ;Offset 00
  53.    APTR  Previous_Node     ;Offset 04
  54.   JMP    Next_Program      ;Offset 08    adress of the next program
  55.    APTR  Program           ;Offset 14    the program from this node
  56.    APTR  Task              ;Offset 18    the task-structure of this program
  57.    LABEL PatchNode_SizeOf
  58.  
  59. Author:
  60.                          Stefan "zerocom" Sommerfeld
  61.                                Kaulbachstr. 3
  62.                                14612 Falkensee
  63.                                    Germany
  64.  
  65.                           Phone: +49-[0]3322-202452
  66.                        EMail: zerocom@cs.tu-berlin.de
  67.  
  68.  or call our support BBS: MagiC P0ti0N! +49-[0]3322-208768 ( 2400-28800 )
  69.