remove any leading ::ffff: on ipv4 addresses
[spider.git] / html / program.html
index 6217a19832d68e2e5b0a7afc4de70105ce9e8850..9b6262ec28dcc9575fa5c4f9c7d4d19f170c215e 100644 (file)
@@ -2,10 +2,12 @@
 <html>
   <head>
     <title>Programming New Commands</title>
 <html>
   <head>
     <title>Programming New Commands</title>
-  </head>
+
        <meta name="Keywords" content="DX Cluster, DXSpider, Spider, Packet Cluster, DXCluster, Pavillion Software, AK1A, AX25, AX.25, WWV, Packet Radio, Amateur Radio, Propagation, DX, DXing, G1TLH, GB7TLH, Dirk Koopman, Mailing list, Linux, RedHat, PERL">
        <meta name="Description" content="Software and systems for realtime digital communications between amateur radio stations for the provision of information on propagation conditions and stations operating">
        <meta name="Author" content="Dirk Koopman G1TLH">
        <meta name="Keywords" content="DX Cluster, DXSpider, Spider, Packet Cluster, DXCluster, Pavillion Software, AK1A, AX25, AX.25, WWV, Packet Radio, Amateur Radio, Propagation, DX, DXing, G1TLH, GB7TLH, Dirk Koopman, Mailing list, Linux, RedHat, PERL">
        <meta name="Description" content="Software and systems for realtime digital communications between amateur radio stations for the provision of information on propagation conditions and stations operating">
        <meta name="Author" content="Dirk Koopman G1TLH">
+    <link rel=stylesheet href="style.css" type="text/css" title="default stylesheet">
+
   </head>
 
   <body TEXT="#000000" LINK="#0000ff" VLINK="#800080" BGCOLOR="#FFFFFF">
   </head>
 
   <body TEXT="#000000" LINK="#0000ff" VLINK="#800080" BGCOLOR="#FFFFFF">
@@ -20,7 +22,7 @@
        <p>
          <!-- Created: Sun Dec 13 20:25:14 GMT 1998 -->
          <!-- hhmts start -->
        <p>
          <!-- Created: Sun Dec 13 20:25:14 GMT 1998 -->
          <!-- hhmts start -->
-Last modified: Wed Dec 23 18:27:06 GMT 1998
+Last modified: Mon Dec 28 23:13:21 GMT 1998
 <!-- hhmts end -->
        <h4>Introduction</h4>
        
 <!-- hhmts end -->
        <h4>Introduction</h4>
        
@@ -88,6 +90,10 @@ Last modified: Wed Dec 23 18:27:06 GMT 1998
          your modifications, otherwise <EM>it will continue to use the old ones in your local 
                directories!</em>
 
          your modifications, otherwise <EM>it will continue to use the old ones in your local 
                directories!</em>
 
+       <p>If you want to add facilities to the daemon itself or do some
+       fancy local spot routing, you might like to try looking at <a
+       href="local.html">Local</a> customisations.
+
        <h4>Hints, Tips and Exhortations</h4>
 
        <ol>
        <h4>Hints, Tips and Exhortations</h4>
 
        <ol>
@@ -128,7 +134,7 @@ Last modified: Wed Dec 23 18:27:06 GMT 1998
                and are subroutines derived from the DXChannel class. They effectively
                the following declaration :-
                <p><pre>
                and are subroutines derived from the DXChannel class. They effectively
                the following declaration :-
                <p><pre>
-  sub Emb_<cmdname>($self, $args)
+  sub Emb_&lt;cmdname>($self, $args)
   {
      ...
      your code here
   {
      ...
      your code here
@@ -151,7 +157,7 @@ Last modified: Wed Dec 23 18:27:06 GMT 1998
   my @out;
 
   # check privileges
   my @out;
 
   # check privileges
-  return (1, $self->msg('e5')) if $self->priv < 5;
+  return (1, $self->msg('e5')) if $self->priv &lt; 5;
 
   ....
   ....
 
   ....
   ....
@@ -222,11 +228,11 @@ my @out;
 my $user;
 my $ref;
   
 my $user;
 my $ref;
   
-return (1, $self->msg('e5')) if $self->priv < 9;
+return (1, $self->msg('e5')) if $self->priv &lt; 9;
   
 foreach $call (@args) {
     $call = uc $call;
   
 foreach $call (@args) {
     $call = uc $call;
-    if ($ref = DXUser->get_current($call)) {
+    if ($ref = DXUser::get_current($call)) {
         $ref->passwd($pass);
            $ref->put();
                push @out, $self->msg("password", $call);
         $ref->passwd($pass);
            $ref->put();
                push @out, $self->msg("password", $call);
@@ -297,11 +303,11 @@ return (1, @out)
 
                <p><li>It is important that you remember when you have tie
                hashes using MLDBM et al. If you do a
 
                <p><li>It is important that you remember when you have tie
                hashes using MLDBM et al. If you do a
-               <tt>DXUser->get($call)</tt> you will get a different (older)
+               <tt>DXUser::get($call)</tt> you will get a different (older)
                thing than the one in <tt>$self->user</tt>. This is almost
                certainly NOT what you want if want to modify a user that is
                currently connected. Either use <tt>$self->user</tt> or, if
                thing than the one in <tt>$self->user</tt>. This is almost
                certainly NOT what you want if want to modify a user that is
                currently connected. Either use <tt>$self->user</tt> or, if
-               you want another user, use <tt>DXUser->get_current($call)</tt>
+               you want another user, use <tt>DXUser::get_current($call)</tt>
 
                <p><li>If you want to debug something, start the cluster.pl up thus:-
                <pre>
 
                <p><li>If you want to debug something, start the cluster.pl up thus:-
                <pre>
@@ -327,7 +333,7 @@ return (1, @out)
                mean that this is a prompt and will not have a \r or \n appended to
                it in the client for telnet sessions (only).
 
                mean that this is a prompt and will not have a \r or \n appended to
                it in the client for telnet sessions (only).
 
-               <p><li>help is kept in <tt>/spider/cmd/Command_<lang>.hlp</tt> files.
+               <p><li>help is kept in <tt>/spider/cmd/Command_&lt;lang>.hlp</tt> files.
                The format of the help files should be self explanatory, but they are
                explained further in the files themselves.
 
                The format of the help files should be self explanatory, but they are
                explained further in the files themselves.
 
@@ -336,6 +342,100 @@ return (1, @out)
 
        </ol>
 
 
        </ol>
 
+       <h4>Editting the source</h4>
+       
+       I suppose this has to be discussed but although I may have confused some of you, I 
+       insist on the following formatting conventions:-
+
+       <ol>
+               <p><li>All white space to left of a line shall be tabs.
+               <p><li>A tab shall be 4 characters (unless it is 8) (I use 4). Anything you see
+               with multiples of 2 spaces will be reformatted next time I edit it. 
+               <p><li>You <b><u><i>WILL</i></u></b>use the one true (documented) bracing method as 
+               documented in K & R and all the 'official' perl books.
+       </ol>
+
+       <p>I have been experimenting with editors and tabwidths and have settled on 
+         <a href="http://www.xemacs.org">XEmacs</a>. You can get a copy from the 
+         <a href="ftp://contrib.redhat.com">RedHat Contrib</a> ftp site for your version
+         of Redhat. I use the following parameters in my .emacs file.
+
+         <pre>
+  ;; End of Options Menu Settings
+  (custom-set-variables
+   '(cperl-electric-parens t)
+   '(cperl-auto-newline t)
+   '(cperl-electric-linefeed t)
+   '(cperl-hairy t)
+   '(tab-width 4)
+   '(cperl-indent-level 4)
+   '(cperl-brace-offset 0)
+   '(cperl-continued-brace-offset -4)
+   '(cperl-label-offset -4)
+   '(cperl-merge-trailing-else nil)
+   '(cperl-continued-statement-offset 4)
+  )
+       </pre>
+
+       I also have all the fancy colouring on (don't know what sets that) but this is 
+       what I have in .xemacs-options file:-
+
+       <pre>
+  ;; -*- Mode: Emacs-Lisp -*-
+
+  (setq options-file-xemacs-version '(20 4))
+    (setq-default case-fold-search t)
+    (setq-default overwrite-mode nil)
+      (setq-default case-fold-search t)
+    (setq-default case-replace t)
+      (setq-default zmacs-regions t)
+    (setq-default mouse-yank-at-point t)
+    (setq-default require-final-newline t)
+    (setq-default next-line-add-newlines nil)
+    (setq-default teach-extended-commands-p t)
+    (setq-default teach-extended-commands-timeout 4)
+    (setq-default debug-on-error nil)
+    (setq-default debug-on-quit nil)
+    (setq-default lpr-switches nil)
+    (setq-default ps-print-color-p t)
+    (setq-default ps-paper-type 'letter)
+    (setq-default get-frame-for-buffer-default-instance-limit nil)
+    (setq-default temp-buffer-show-function 'show-temp-buffer-in-current-frame)
+      (setq-default font-lock-auto-fontify t)
+    (setq-default font-lock-use-fonts nil)
+    (setq-default font-lock-use-colors '(color))
+    (setq-default font-lock-maximum-decoration t)
+    (setq-default font-lock-maximum-size 256000)
+    (setq-default font-lock-mode-enable-list nil)
+    (setq-default font-lock-mode-disable-list nil)
+    (require 'font-lock)
+    (remove-hook 'font-lock-mode-hook 'turn-on-fast-lock)
+    (remove-hook 'font-lock-mode-hook 'turn-on-lazy-shot)
+    (require 'paren)
+    (paren-set-mode 'blink-paren)
+    (if (featurep 'scrollbar) (progn (add-spec-list-to-specifier scrollbar-width 'nil) (add-spe$
+    (add-spec-list-to-specifier modeline-shadow-thickness '((global (nil . 2))))
+    (setq-default truncate-lines nil)
+    (setq-default bar-cursor nil)   
+      (setq-default buffers-menu-max-size 25)
+    (setq-default complex-buffers-menu-p nil)
+    (setq-default buffers-menu-sort-function 'sort-buffers-menu-by-mode-then-alphabetically)
+    (setq-default buffers-menu-grouping-function 'group-buffers-menu-by-mode-then-alphabeticall$
+    (setq-default buffers-menu-submenus-for-groups-p nil)
+    (setq-default font-menu-ignore-scaled-fonts t)
+    (setq-default font-menu-this-frame-only-p nil)
+    (if (featurep 'toolbar) (progn (set-default-toolbar-position 'top) (add-spec-list-to-specif$
+    (setq-default mouse-avoidance-mode nil)
+    (setq-default browse-url-browser-function 'browse-url-w3)
+    </pre>
+
+       I also use <a href="../download/cperl-mode.el.4.19.gz">cperl-mode.el.4.19</a> which I got from
+       <a href="http://www.cpan.org">CPAN</a> for the auto formatting of the perl as I write it. Some
+       of its habits are rather peculiar, but you can either switch them off or learn to live with them
+       as I did. I installed my copy in <b>/usr/lib/xemacs/site-lisp</b>. 
+
+       <p>XEmacs runs perfectly happily on the console as well as under X.
+
 <!-- Standard Footer!! -->
        <p>&nbsp;</p>
        <p>
 <!-- Standard Footer!! -->
        <p>&nbsp;</p>
        <p>