]> code.citadel.org Git - citadel.git/blobdiff - citadel/techdoc/hack.txt
* Replaced all "Citadel/UX" references with "Citadel"
[citadel.git] / citadel / techdoc / hack.txt
index 29ebcd6df681220ff301c890b393c4d38c8c2d17..bbcb0acd7bfa6f14dcf47c62bb101185959ca98a 100644 (file)
@@ -1,5 +1,5 @@
             ------------------------------------------------------
-             The totally incomplete guide to Citadel/UX internals
+             The totally incomplete guide to Citadel internals
             ------------------------------------------------------
 
  Citadel has evolved quite a bit since its early days, and the data structures
@@ -24,7 +24,7 @@ by Citadel.  Here are some of the tables we keep on disk:
 user name (translated to lower case for indexing purposes).  The records in
 this file look something like this:
 
-struct user {                       /* User record                      */
+struct ctdluser {                       /* User record                      */
         int version;                    /* Cit vers. which created this rec */
         uid_t uid;                      /* Associate with a unix account?   */
         char password[32];              /* password (for BBS-only users)    */
@@ -66,7 +66,7 @@ information so we set it up dynamically.
 system, public or private or mailbox.  It's indexed by room name (also in
 lower case for easy indexing) and it contains records which look like this:
 
-struct room {
+struct ctdlroom {
         char QRname[ROOMNAMELEN];       /* Name of room                     */
         char QRpasswd[10];              /* Only valid if it's a private rm  */
         long QRroomaide;                /* User number of room aide         */
@@ -239,6 +239,10 @@ all software should be written to IGNORE fields not currently defined.
 BYTE   Mnemonic        Comments
 
 A      Author          Name of originator of message.
+B      Big message     This is a flag which indicates that the message is
+                        big, and Citadel is storing the body in a separate
+                        record.  You will never see this field because the
+                        internal API handles it.
 D      Destination     Contains name of the system this message should
                        be sent to, for mail routing (private mail only).
 E      Extended ID     A persistent alphanumeric Message ID used for
@@ -276,7 +280,7 @@ T   Date/Time       A 32-bit integer containing the date and time of
                         the message in standard UNIX format (the number
                         of seconds since January 1, 1970 GMT).
 U       Subject         Optional.  Developers may choose whether they wish to
-                        generate or display subject fields.  Citadel/UX does
+                        generate or display subject fields.  Citadel does
                         not generate them, but it does print them when found.
 0      Error           This field is typically never found in a message on
                        disk or in transit.  Message scanning modules are
@@ -348,7 +352,7 @@ please see network.txt on its operation and functionality (if any).
 
                        Portability issues
  
- Citadel/UX is 64-bit clean, architecture-independent, and Year 2000
+ Citadel is 64-bit clean, architecture-independent, and Year 2000
 compliant.  The software should compile on any POSIX compliant system with
 a full pthreads implementation and TCP/IP support.  In the future we may
 try to port it to non-POSIX systems as well.