<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2008 (1.71) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Contents</TITLE> <META NAME="description" CONTENT="Contents"> <META NAME="keywords" CONTENT="developers"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META NAME="Generator" CONTENT="LaTeX2HTML v2008"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="developers.css"> <LINK REL="next" HREF="Bacula_Developer_Notes.html"> <LINK REL="previous" HREF="Developer_s_Guide.html"> <LINK REL="up" HREF="Developer_s_Guide.html"> <LINK REL="next" HREF="Bacula_Developer_Notes.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html213" HREF="Bacula_Developer_Notes.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html209" HREF="Developer_s_Guide.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html203" HREF="Developer_s_Guide.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html211" HREF="GNU_Free_Documentation_Lice.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> <BR> <B> Next:</B> <A NAME="tex2html214" HREF="Bacula_Developer_Notes.html">Bacula Developer Notes</A> <B> Up:</B> <A NAME="tex2html210" HREF="Developer_s_Guide.html">Developer's Guide</A> <B> Previous:</B> <A NAME="tex2html204" HREF="Developer_s_Guide.html">Developer's Guide</A> <B> <A NAME="tex2html212" HREF="GNU_Free_Documentation_Lice.html">Index</A></B> <BR> <BR> <!--End of Navigation Panel--> <BR> <H2><A NAME="SECTION00100000000000000000"> Contents</A> </H2> <!--Table of Contents--> <UL> <LI><A NAME="tex2html215" HREF="Bacula_Developer_Notes.html">Bacula Developer Notes</A> <UL> <LI><A NAME="tex2html216" HREF="Bacula_Developer_Notes.html#SECTION00201000000000000000">Contributions</A> <LI><A NAME="tex2html217" HREF="Bacula_Developer_Notes.html#SECTION00202000000000000000">Patches</A> <LI><A NAME="tex2html218" HREF="Bacula_Developer_Notes.html#SECTION00203000000000000000">Copyrights</A> <LI><A NAME="tex2html219" HREF="Bacula_Developer_Notes.html#SECTION00204000000000000000">Copyright Assignment - Fiduciary License Agreement</A> <LI><A NAME="tex2html220" HREF="Development_Cycle.html">The Development Cycle</A> <LI><A NAME="tex2html221" HREF="Bacula_Code_Submissions_Pro.html">Bacula Code Submissions and Projects</A> <LI><A NAME="tex2html222" HREF="Patches_Released_Versions.html">Patches for Released Versions</A> <LI><A NAME="tex2html223" HREF="Developing_Bacula.html">Developing Bacula</A> <UL> <LI><A NAME="tex2html224" HREF="Developing_Bacula.html#SECTION00241000000000000000">Debugging</A> <LI><A NAME="tex2html225" HREF="Developing_Bacula.html#SECTION00242000000000000000">Using a Debugger</A> <LI><A NAME="tex2html226" HREF="Developing_Bacula.html#SECTION00243000000000000000">Memory Leaks</A> <LI><A NAME="tex2html227" HREF="Developing_Bacula.html#SECTION00244000000000000000">Special Files</A> <LI><A NAME="tex2html228" HREF="Developing_Bacula.html#SECTION00245000000000000000">When Implementing Incomplete Code</A> <LI><A NAME="tex2html229" HREF="Developing_Bacula.html#SECTION00246000000000000000">Bacula Source File Structure</A> <LI><A NAME="tex2html230" HREF="Developing_Bacula.html#SECTION00247000000000000000">Header Files</A> <LI><A NAME="tex2html231" HREF="Developing_Bacula.html#SECTION00248000000000000000">Programming Standards</A> <LI><A NAME="tex2html232" HREF="Developing_Bacula.html#SECTION00249000000000000000">Do Not Use</A> <LI><A NAME="tex2html233" HREF="Developing_Bacula.html#SECTION002410000000000000000">Avoid if Possible</A> <LI><A NAME="tex2html234" HREF="Developing_Bacula.html#SECTION002411000000000000000">Do Use Whenever Possible</A> <LI><A NAME="tex2html235" HREF="Developing_Bacula.html#SECTION002412000000000000000">Indenting Standards</A> <LI><A NAME="tex2html236" HREF="Developing_Bacula.html#SECTION002413000000000000000">Tabbing</A> <LI><A NAME="tex2html237" HREF="Developing_Bacula.html#SECTION002414000000000000000">Don'ts</A> <LI><A NAME="tex2html238" HREF="Developing_Bacula.html#SECTION002415000000000000000">Message Classes</A> <LI><A NAME="tex2html239" HREF="Developing_Bacula.html#SECTION002416000000000000000">Debug Messages</A> <LI><A NAME="tex2html240" HREF="Developing_Bacula.html#SECTION002417000000000000000">Error Messages</A> <LI><A NAME="tex2html241" HREF="Developing_Bacula.html#SECTION002418000000000000000">Job Messages</A> <LI><A NAME="tex2html242" HREF="Developing_Bacula.html#SECTION002419000000000000000">Queued Job Messages</A> <LI><A NAME="tex2html243" HREF="Developing_Bacula.html#SECTION002420000000000000000">Memory Messages</A> <LI><A NAME="tex2html244" HREF="Developing_Bacula.html#SECTION002421000000000000000">Bugs Database</A> </UL> </UL> <BR> <LI><A NAME="tex2html245" HREF="Bacula_Git_Usage.html">Bacula Git Usage</A> <UL> <LI><A NAME="tex2html246" HREF="Bacula_Git_repositories.html">Bacula Git repositories</A> <LI><A NAME="tex2html247" HREF="Git_Usage.html">Git Usage</A> <UL> <LI><A NAME="tex2html248" HREF="Git_Usage.html#SECTION00321000000000000000">Learning Git</A> </UL> <LI><A NAME="tex2html249" HREF="Step_Step_Modifying_Bacula.html">Step by Step Modifying Bacula Code</A> <UL> <LI><A NAME="tex2html250" HREF="Step_Step_Modifying_Bacula.html#SECTION00331000000000000000">More Details</A> </UL> <LI><A NAME="tex2html251" HREF="Forcing_Changes.html">Forcing Changes</A> </UL> <BR> <LI><A NAME="tex2html252" HREF="Bacula_FD_Plugin_API.html">Bacula FD Plugin API</A> <UL> <LI><A NAME="tex2html253" HREF="Normal_vs_Command_Plugins.html">Normal vs Command Plugins</A> <LI><A NAME="tex2html254" HREF="Loading_Plugins.html">Loading Plugins</A> <LI><A NAME="tex2html255" HREF="loadPlugin.html">loadPlugin</A> <LI><A NAME="tex2html256" HREF="Plugin_Entry_Points.html">Plugin Entry Points</A> <UL> <LI><A NAME="tex2html257" HREF="Plugin_Entry_Points.html#SECTION00441000000000000000">newPlugin(bpContext *ctx)</A> <LI><A NAME="tex2html258" HREF="Plugin_Entry_Points.html#SECTION00442000000000000000">freePlugin(bpContext *ctx)</A> <LI><A NAME="tex2html259" HREF="Plugin_Entry_Points.html#SECTION00443000000000000000">getPluginValue(bpContext *ctx, pVariable var, void *value)</A> <LI><A NAME="tex2html260" HREF="Plugin_Entry_Points.html#SECTION00444000000000000000">setPluginValue(bpContext *ctx, pVariable var, void *value)</A> <LI><A NAME="tex2html261" HREF="Plugin_Entry_Points.html#SECTION00445000000000000000">handlePluginEvent(bpContext *ctx, bEvent *event, void *value)</A> <LI><A NAME="tex2html262" HREF="Plugin_Entry_Points.html#SECTION00446000000000000000">startBackupFile(bpContext *ctx, struct save_pkt *sp)</A> <LI><A NAME="tex2html263" HREF="Plugin_Entry_Points.html#SECTION00447000000000000000">endBackupFile(bpContext *ctx)</A> <LI><A NAME="tex2html264" HREF="Plugin_Entry_Points.html#SECTION00448000000000000000">startRestoreFile(bpContext *ctx, const char *cmd)</A> <LI><A NAME="tex2html265" HREF="Plugin_Entry_Points.html#SECTION00449000000000000000">createFile(bpContext *ctx, struct restore_pkt *rp)</A> <LI><A NAME="tex2html266" HREF="Plugin_Entry_Points.html#SECTION004410000000000000000">setFileAttributes(bpContext *ctx, struct restore_pkt *rp)</A> <LI><A NAME="tex2html267" HREF="Plugin_Entry_Points.html#SECTION004411000000000000000">endRestoreFile(bpContext *ctx)</A> <LI><A NAME="tex2html268" HREF="Plugin_Entry_Points.html#SECTION004412000000000000000">pluginIO(bpContext *ctx, struct io_pkt *io)</A> <LI><A NAME="tex2html269" HREF="Plugin_Entry_Points.html#SECTION004413000000000000000">bool checkFile(bpContext *ctx, char *fname)</A> </UL> <LI><A NAME="tex2html270" HREF="Bacula_Plugin_Entrypoints.html">Bacula Plugin Entrypoints</A> <UL> <LI><A NAME="tex2html271" HREF="Bacula_Plugin_Entrypoints.html#SECTION00451000000000000000">bRC registerBaculaEvents(bpContext *ctx, ...)</A> <LI><A NAME="tex2html272" HREF="Bacula_Plugin_Entrypoints.html#SECTION00452000000000000000">bRC getBaculaValue(bpContext *ctx, bVariable var, void *value)</A> <LI><A NAME="tex2html273" HREF="Bacula_Plugin_Entrypoints.html#SECTION00453000000000000000">bRC setBaculaValue(bpContext *ctx, bVariable var, void *value)</A> <LI><A NAME="tex2html274" HREF="Bacula_Plugin_Entrypoints.html#SECTION00454000000000000000">bRC JobMessage(bpContext *ctx, const char *file, int line, int type, utime_t mtime, const char *fmt, ...)</A> <LI><A NAME="tex2html275" HREF="Bacula_Plugin_Entrypoints.html#SECTION00455000000000000000">bRC DebugMessage(bpContext *ctx, const char *file, int line, int level, const char *fmt, ...)</A> <LI><A NAME="tex2html276" HREF="Bacula_Plugin_Entrypoints.html#SECTION00456000000000000000">void baculaMalloc(bpContext *ctx, const char *file, int line, size_t size)</A> <LI><A NAME="tex2html277" HREF="Bacula_Plugin_Entrypoints.html#SECTION00457000000000000000">void baculaFree(bpContext *ctx, const char *file, int line, void *mem)</A> </UL> <LI><A NAME="tex2html278" HREF="Building_Bacula_Plugins.html">Building Bacula Plugins</A> </UL> <BR> <LI><A NAME="tex2html279" HREF="Platform_Support.html">Platform Support</A> <UL> <LI><A NAME="tex2html280" HREF="General.html">General</A> <LI><A NAME="tex2html281" HREF="Requirements_become_Support.html">Requirements to become a Supported Platform</A> </UL> <BR> <LI><A NAME="tex2html282" HREF="Daemon_Protocol.html">Daemon Protocol</A> <UL> <LI><A NAME="tex2html283" HREF="General.html">General</A> <LI><A NAME="tex2html284" HREF="Low_Level_Network_Protocol.html">Low Level Network Protocol</A> <LI><A NAME="tex2html285" HREF="General_Daemon_Protocol.html">General Daemon Protocol</A> <LI><A NAME="tex2html286" HREF="Protocol_Used_Between_Direc.html">The Protocol Used Between the Director and the Storage Daemon</A> <LI><A NAME="tex2html287" HREF="Protocol_Used_Between_Direc.html#SECTION00650000000000000000">The Protocol Used Between the Director and the File Daemon</A> <LI><A NAME="tex2html288" HREF="Save_Protocol_Between_File.html">The Save Protocol Between the File Daemon and the Storage Daemon</A> <UL> <LI><A NAME="tex2html289" HREF="Save_Protocol_Between_File.html#SECTION00661000000000000000">Command and Control Information</A> <LI><A NAME="tex2html290" HREF="Save_Protocol_Between_File.html#SECTION00662000000000000000">Data Information</A> </UL> </UL> <BR> <LI><A NAME="tex2html291" HREF="Director_Services_Daemon.html">Director Services Daemon</A> <LI><A NAME="tex2html292" HREF="File_Services_Daemon.html">File Services Daemon</A> <UL> <LI><A NAME="tex2html293" HREF="Commands_Received_from_Dire.html">Commands Received from the Director for a Backup</A> <LI><A NAME="tex2html294" HREF="Commands_Received_from_Dire.html#SECTION00820000000000000000">Commands Received from the Director for a Restore</A> </UL> <BR> <LI><A NAME="tex2html295" HREF="Storage_Daemon_Design.html">Storage Daemon Design</A> <UL> <LI><A NAME="tex2html296" HREF="SD_Design_Introduction.html">SD Design Introduction</A> <LI><A NAME="tex2html297" HREF="SD_Development_Outline.html">SD Development Outline</A> <LI><A NAME="tex2html298" HREF="SD_Connections_Sessions.html">SD Connections and Sessions</A> <UL> <LI><A NAME="tex2html299" HREF="SD_Connections_Sessions.html#SECTION00931000000000000000">SD Append Requests</A> <LI><A NAME="tex2html300" HREF="SD_Connections_Sessions.html#SECTION00932000000000000000">SD Read Requests</A> </UL> <LI><A NAME="tex2html301" HREF="SD_Data_Structures.html">SD Data Structures</A> </UL> <BR> <LI><A NAME="tex2html302" HREF="Catalog_Services.html">Catalog Services</A> <UL> <LI><A NAME="tex2html303" HREF="General.html">General</A> <UL> <LI><A NAME="tex2html304" HREF="General.html#SECTION001011000000000000000">Filenames and Maximum Filename Length</A> <LI><A NAME="tex2html305" HREF="General.html#SECTION001012000000000000000">Installing and Configuring MySQL</A> <LI><A NAME="tex2html306" HREF="General.html#SECTION001013000000000000000">Installing and Configuring PostgreSQL</A> <LI><A NAME="tex2html307" HREF="General.html#SECTION001014000000000000000">Installing and Configuring SQLite</A> <LI><A NAME="tex2html308" HREF="General.html#SECTION001015000000000000000">Internal Bacula Catalog</A> <LI><A NAME="tex2html309" HREF="General.html#SECTION001016000000000000000">Database Table Design</A> </UL> <LI><A NAME="tex2html310" HREF="Sequence_Creation_Records_S.html">Sequence of Creation of Records for a Save Job</A> <LI><A NAME="tex2html311" HREF="Database_Tables.html">Database Tables</A> <UL> <LI><A NAME="tex2html312" HREF="Database_Tables.html#SECTION001031000000000000000">MySQL Table Definition</A> </UL> </UL> <BR> <LI><A NAME="tex2html313" HREF="Storage_Media_Output_Format.html">Storage Media Output Format</A> <UL> <LI><A NAME="tex2html314" HREF="General.html">General</A> <LI><A NAME="tex2html315" HREF="Definitions.html">Definitions</A> <LI><A NAME="tex2html316" HREF="Storage_Daemon_File_Output.html">Storage Daemon File Output Format</A> <LI><A NAME="tex2html317" HREF="Overall_Format.html">Overall Format</A> <LI><A NAME="tex2html318" HREF="Serialization.html">Serialization</A> <LI><A NAME="tex2html319" HREF="Block_Header.html">Block Header</A> <LI><A NAME="tex2html320" HREF="Record_Header.html">Record Header</A> <LI><A NAME="tex2html321" HREF="Version_BB02_Block_Header.html">Version BB02 Block Header</A> <LI><A NAME="tex2html322" HREF="Version_2_Record_Header.html">Version 2 Record Header</A> <LI><A NAME="tex2html323" HREF="Volume_Label_Format.html">Volume Label Format</A> <LI><A NAME="tex2html324" HREF="Session_Label.html">Session Label</A> <LI><A NAME="tex2html325" HREF="Overall_Storage_Format.html">Overall Storage Format</A> <LI><A NAME="tex2html326" HREF="Unix_File_Attributes.html">Unix File Attributes</A> <LI><A NAME="tex2html327" HREF="Old_Depreciated_Tape_Format.html">Old Depreciated Tape Format</A> </UL> <BR> <LI><A NAME="tex2html328" HREF="Bacula_Porting_Notes.html">Bacula Porting Notes</A> <UL> <LI><A NAME="tex2html329" HREF="Porting_Requirements.html">Porting Requirements</A> <LI><A NAME="tex2html330" HREF="Steps_Take_Porting.html">Steps to Take for Porting</A> </UL> <BR> <LI><A NAME="tex2html331" HREF="Implementing_GUI_Interface.html">Implementing a GUI Interface</A> <UL> <LI><A NAME="tex2html332" HREF="General.html">General</A> <UL> <LI><A NAME="tex2html333" HREF="General.html#SECTION001311000000000000000">Minimal Code in Console Program</A> <LI><A NAME="tex2html334" HREF="General.html#SECTION001312000000000000000">GUI Interface is Difficult</A> </UL> <LI><A NAME="tex2html335" HREF="Bvfs_API.html">Bvfs API</A> </UL> <BR> <LI><A NAME="tex2html336" HREF="TLS.html">TLS</A> <UL> <LI><A NAME="tex2html337" HREF="Introduction_TLS.html">Introduction to TLS</A> <LI><A NAME="tex2html338" HREF="New_Configuration_Directive.html">New Configuration Directives</A> <LI><A NAME="tex2html339" HREF="TLS_API_Implementation.html">TLS API Implementation</A> <UL> <LI><A NAME="tex2html340" HREF="TLS_API_Implementation.html#SECTION001431000000000000000">Library Initialization and Cleanup</A> <LI><A NAME="tex2html341" HREF="TLS_API_Implementation.html#SECTION001432000000000000000">Manipulating TLS Contexts</A> <LI><A NAME="tex2html342" HREF="TLS_API_Implementation.html#SECTION001433000000000000000">Performing Post-Connection Verification</A> <LI><A NAME="tex2html343" HREF="TLS_API_Implementation.html#SECTION001434000000000000000">Manipulating TLS Connections</A> </UL> <LI><A NAME="tex2html344" HREF="Bnet_API_Changes.html">Bnet API Changes</A> <UL> <LI><A NAME="tex2html345" HREF="Bnet_API_Changes.html#SECTION001441000000000000000">Negotiating a TLS Connection</A> <LI><A NAME="tex2html346" HREF="Bnet_API_Changes.html#SECTION001442000000000000000">Manipulating Socket Blocking State</A> </UL> <LI><A NAME="tex2html347" HREF="Authentication_Negotiation.html">Authentication Negotiation</A> </UL> <BR> <LI><A NAME="tex2html348" HREF="Bacula_Regression_Testing.html">Bacula Regression Testing</A> <UL> <LI><A NAME="tex2html349" HREF="Setting_up_Regession_Testin.html">Setting up Regession Testing</A> <LI><A NAME="tex2html350" HREF="Running_Regression_Script.html">Running the Regression Script</A> <UL> <LI><A NAME="tex2html351" HREF="Running_Regression_Script.html#SECTION001521000000000000000">Setting the Configuration Parameters</A> <LI><A NAME="tex2html352" HREF="Running_Regression_Script.html#SECTION001522000000000000000">Building the Test Bacula</A> <LI><A NAME="tex2html353" HREF="Running_Regression_Script.html#SECTION001523000000000000000">Setting up your SQL engine</A> <LI><A NAME="tex2html354" HREF="Running_Regression_Script.html#SECTION001524000000000000000">Running the Disk Only Regression</A> <LI><A NAME="tex2html355" HREF="Running_Regression_Script.html#SECTION001525000000000000000">Other Tests</A> <LI><A NAME="tex2html356" HREF="Running_Regression_Script.html#SECTION001526000000000000000">If a Test Fails</A> </UL> <LI><A NAME="tex2html357" HREF="Testing_Binary_Installation.html">Testing a Binary Installation</A> <LI><A NAME="tex2html358" HREF="Running_Single_Test.html">Running a Single Test</A> <LI><A NAME="tex2html359" HREF="Writing_Regression_Test.html">Writing a Regression Test</A> <UL> <LI><A NAME="tex2html360" HREF="Writing_Regression_Test.html#SECTION001551000000000000000">Running the Tests by Hand</A> <LI><A NAME="tex2html361" HREF="Writing_Regression_Test.html#SECTION001552000000000000000">Directory Structure</A> <LI><A NAME="tex2html362" HREF="Writing_Regression_Test.html#SECTION001553000000000000000">Adding a New Test</A> <LI><A NAME="tex2html363" HREF="Writing_Regression_Test.html#SECTION001554000000000000000">Running a Test Under The Debugger</A> </UL> </UL> <BR> <LI><A NAME="tex2html364" HREF="Bacula_MD5_Algorithm.html">Bacula MD5 Algorithm</A> <UL> <LI><A NAME="tex2html365" HREF="Command_Line_Message_Digest.html">Command Line Message Digest Utility </A> <UL> <LI><A NAME="tex2html366" HREF="Command_Line_Message_Digest.html#SECTION001611000000000000000">Name</A> <LI><A NAME="tex2html367" HREF="Command_Line_Message_Digest.html#SECTION001612000000000000000">Synopsis</A> <LI><A NAME="tex2html368" HREF="Command_Line_Message_Digest.html#SECTION001613000000000000000">Description</A> <LI><A NAME="tex2html369" HREF="Command_Line_Message_Digest.html#SECTION001614000000000000000">Options</A> <LI><A NAME="tex2html370" HREF="Command_Line_Message_Digest.html#SECTION001615000000000000000">Files</A> <LI><A NAME="tex2html371" HREF="Command_Line_Message_Digest.html#SECTION001616000000000000000">Bugs</A> </UL> <LI><A NAME="tex2html372" HREF="Download_md5_ziphttp_www_fo.html">Download md5.ziphttp://www.fourmilab.ch/md5/md5.zip (Zipped archive)</A> <UL> <LI><A NAME="tex2html373" HREF="Download_md5_ziphttp_www_fo.html#SECTION001621000000000000000">See Also</A> <LI><A NAME="tex2html374" HREF="Download_md5_ziphttp_www_fo.html#SECTION001622000000000000000">Exit Status</A> <LI><A NAME="tex2html375" HREF="Download_md5_ziphttp_www_fo.html#SECTION001623000000000000000">Copying</A> <LI><A NAME="tex2html376" HREF="Download_md5_ziphttp_www_fo.html#SECTION001624000000000000000">Acknowledgements</A> </UL> </UL> <BR> <LI><A NAME="tex2html377" HREF="Bacula_Memory_Management.html">Bacula Memory Management</A> <UL> <LI><A NAME="tex2html378" HREF="General.html">General</A> <UL> <LI><A NAME="tex2html379" HREF="General.html#SECTION001711000000000000000">Statically Allocated Memory</A> <LI><A NAME="tex2html380" HREF="General.html#SECTION001712000000000000000">Dynamically Allocated Memory</A> <LI><A NAME="tex2html381" HREF="General.html#SECTION001713000000000000000">Pooled and Non-pooled Memory</A> </UL> </UL> <BR> <LI><A NAME="tex2html382" HREF="TCP_IP_Network_Protocol.html">TCP/IP Network Protocol</A> <UL> <LI><A NAME="tex2html383" HREF="General.html">General</A> <LI><A NAME="tex2html384" HREF="bnet_Threads.html">bnet and Threads</A> <LI><A NAME="tex2html385" HREF="bnet_open.html">bnet_open</A> <LI><A NAME="tex2html386" HREF="bnet_send.html">bnet_send</A> <LI><A NAME="tex2html387" HREF="bnet_fsend.html">bnet_fsend</A> <LI><A NAME="tex2html388" HREF="Additional_Error_informatio.html">Additional Error information</A> <LI><A NAME="tex2html389" HREF="bnet_recv.html">bnet_recv</A> <LI><A NAME="tex2html390" HREF="bnet_sig.html">bnet_sig</A> <LI><A NAME="tex2html391" HREF="bnet_strerror.html">bnet_strerror</A> <LI><A NAME="tex2html392" HREF="bnet_close.html">bnet_close</A> <LI><A NAME="tex2html393" HREF="Becoming_Server.html">Becoming a Server</A> <LI><A NAME="tex2html394" HREF="Higher_Level_Conventions.html">Higher Level Conventions</A> </UL> <BR> <LI><A NAME="tex2html395" HREF="Smart_Memory_Allocation.html">Smart Memory Allocation</A> <UL> <LI><A NAME="tex2html396" HREF="Smart_Memory_Allocation.html#SECTION001901000000000000000">Installing SMARTALLOC</A> <LI><A NAME="tex2html397" HREF="Smart_Memory_Allocation.html#SECTION001902000000000000000">Squelching a SMARTALLOC</A> <LI><A NAME="tex2html398" HREF="Smart_Memory_Allocation.html#SECTION001903000000000000000">Living with Libraries</A> <LI><A NAME="tex2html399" HREF="Smart_Memory_Allocation.html#SECTION001904000000000000000">SMARTALLOC Details</A> <LI><A NAME="tex2html400" HREF="Smart_Memory_Allocation.html#SECTION001905000000000000000">When SMARTALLOC is Disabled</A> <LI><A NAME="tex2html401" HREF="Smart_Memory_Allocation.html#SECTION001906000000000000000">The alloc() Function</A> <LI><A NAME="tex2html402" HREF="Smart_Memory_Allocation.html#SECTION001907000000000000000">Overlays and Underhandedness</A> <LI><A NAME="tex2html403" HREF="Smart_Memory_Allocation.html#SECTION001908000000000000000">Test and Demonstration Program</A> <LI><A NAME="tex2html404" HREF="Smart_Memory_Allocation.html#SECTION001909000000000000000">Invitation to the Hack</A> <LI><A NAME="tex2html405" HREF="http_www_fourmilab_ch_smart.html">http://www.fourmilab.ch/smartall/smartall.zip Download smartall.ziphttp://www.fourmilab.ch/smartall/smartall.zip (Zipped archive)</A> <UL> <LI><A NAME="tex2html406" HREF="http_www_fourmilab_ch_smart.html#SECTION001911000000000000000">Copying</A> </UL> </UL> <BR> <LI><A NAME="tex2html407" HREF="GNU_Free_Documentation_Lice.html">GNU Free Documentation License</A> <LI><A NAME="tex2html408" HREF="Director_Index.html">File Daemon Index</A> <LI><A NAME="tex2html409" HREF="About_this_document.html">About this document ...</A> </UL> <!--End of Table of Contents--> <P> <P> <BR><HR> <ADDRESS> 2010-06-14 </ADDRESS> </BODY> </HTML>