Index: head/en_US.ISO8859-1/books/developers-handbook/book.xml =================================================================== --- head/en_US.ISO8859-1/books/developers-handbook/book.xml (revision 51937) +++ head/en_US.ISO8859-1/books/developers-handbook/book.xml (revision 51938) @@ -1,189 +1,190 @@ %chapters; ]> FreeBSD Developers' Handbook The FreeBSD Documentation Project $FreeBSD$ 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 + 2018 The FreeBSD Documentation Project &legalnotice; &tm-attrib.freebsd; &tm-attrib.apple; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.linux; &tm-attrib.microsoft; &tm-attrib.opengroup; &tm-attrib.sun; &tm-attrib.general; $FreeBSD$ Welcome to the Developers' Handbook. This manual is a work in progress and is the work of many individuals. Many sections do not yet exist and some of those that do exist need to be updated. If you are interested in helping with this project, send email to the &a.doc;. The latest version of this document is always available from the FreeBSD World Wide Web server. It may also be downloaded in a variety of formats and compression options from the FreeBSD FTP server or one of the numerous mirror sites. Basics &chap.introduction; &chap.tools; &chap.secure; &chap.l10n; &chap.policies; &chap.testing; Interprocess Communication &chap.sockets; &chap.ipv6; Kernel &chap.kernelbuild; &chap.kerneldebug; Architectures &chap.x86; Appendices DaveAPatterson JohnLHennessy 1998Morgan Kaufmann Publishers, Inc. 1-55860-428-6 Morgan Kaufmann Publishers, Inc. Computer Organization and Design The Hardware / Software Interface 1-2 W.RichardStevens 1993Addison Wesley Longman, Inc. 0-201-56317-7 Addison Wesley Longman, Inc. Advanced Programming in the Unix Environment 1-2 MarshallKirkMcKusick GeorgeNeville-Neil 2004Addison-Wesley 0-201-70245-2 Addison-Wesley The Design and Implementation of the FreeBSD Operating System 1-2 AlephOne Phrack 49; "Smashing the Stack for Fun and Profit" ChrispinCowan CaltonPu DaveMaier StackGuard; Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks ToddMiller Theode Raadt strlcpy and strlcat -- consistent, safe string copy and concatenation. &chap.index; Index: head/en_US.ISO8859-1/books/developers-handbook/introduction/chapter.xml =================================================================== --- head/en_US.ISO8859-1/books/developers-handbook/introduction/chapter.xml (revision 51937) +++ head/en_US.ISO8859-1/books/developers-handbook/introduction/chapter.xml (revision 51938) @@ -1,225 +1,220 @@ Introduction MurrayStokelyContributed by JeroenRuigrok van der Werven Developing on FreeBSD So here we are. System all installed and you are ready to start programming. But where to start? What does FreeBSD provide? What can it do for me, as a programmer? These are some questions which this chapter tries to answer. Of course, programming has different levels of proficiency like any other trade. For some it is a hobby, for others it is their profession. The information in this chapter might be aimed toward the beginning programmer; indeed, it could serve useful for the programmer unfamiliar with the &os; platform. The BSD Vision To produce the best &unix; like operating system package possible, with due respect to the original software tools ideology as well as usability, performance and stability. Architectural Guidelines Our ideology can be described by the following guidelines Do not add new functionality unless an implementor cannot complete a real application without it. It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion. The only thing worse than generalizing from one example is generalizing from no examples at all. If a problem is not completely understood, it is probably best to provide no solution at all. If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution. Isolate complexity as much as possible. Provide mechanism, rather than policy. In particular, place user interface policy in the client's hands. From Scheifler & Gettys: "X Window System" The Layout of <filename>/usr/src</filename> The complete source code to FreeBSD is available from our public repository. The source code is normally installed in /usr/src which contains the following subdirectories: Directory Description bin/ Source for files in /bin cddl/ Utilities covered by the Common Development and Distribution License contrib/ Source for files from contributed software. crypto/ Cryptographical sources etc/ Source for files in /etc - games/ - Source for files in /usr/games - - - gnu/ Utilities covered by the GNU Public License include/ Source for files in /usr/include kerberos5/ Source for Kerberos version 5 lib/ Source for files in /usr/lib libexec/ Source for files in /usr/libexec release/ Files required to produce a FreeBSD release rescue/ Build system for the /rescue utilities sbin/ Source for files in /sbin secure/ - FreeSec sources + Contributed cryptographic sources share/ Source for files in /usr/share sys/ Kernel source files tests/ The &os; test suite tools/ Tools used for maintenance and testing of FreeBSD usr.bin/ Source for files in /usr/bin usr.sbin/ Source for files in /usr/sbin