                                ADEGS:U FreeBSD

  Jordan Hubbard

   `iuU!G  
   *q: 43184

   FreeBSD NOTO FreeBSDDEGo-a-:.|-a-ouuYENUDEGO 1/4D-

   IEEE, POSIX, (c)M 802 NOTO Institute of Electrical and Electronics
   Engineers, Inc. |bNOTu:DEGe-a-ouuYENUDEGO 1/4D-!C

   ^3\|h>>s^3yDEGO(c)M,g 3/4PDEGO"IYENICUR@"C,-oUNOTDEGDEGO 1/4D--a-o^1I(R)
   *(c)ICURaa|r^3]p"O^1u:AAa|UCURv-a-o^2-L-<<~!C
   YEN>>CURaaCURCURYENX^2{-a-o^2^3|hDEGO 1/4D-!AYENHCURI FreeBSD Project
   YEN>>" 1/4s(c)OCURH-a 3/4-a-oDEGO 1/4D-!A<<a+-+-NYENH '(TM)' (c)I '(R)'
   ^2AA,^1"O 1/4D-uu!C

   2013-11-13 YENN hrs.
   -oKn

   uL 1/2 *NOTOOCURH(c)INOTO|U-oO/^2OA'!A|p-aGS:AE+-aeNOTDEG FreeBSD
   '-L-"NADEGS:U!A^3-L-YENiYENH|bYEN>>CURaaCURCURS:a:"`i|X 3/4A-a-oCURe-ak!C

   [ ^3^1,` 1/4O|! / S:^1 3/4a 1/4O|! ]

     ----------------------------------------------------------------------

   CUR-o(R)eYENO/?y

   1. S:UI-a-o>>Y"D

   2. |p|o'-L-"NADEGS:U

   -ACURTH

   S:AS:AE+-ae'A FreeBSD
   DEGuAICURDEG>>oP:U:!HCURO|nCURF!AS:UIAAw-aiS:A!CFreeBSD YEN?NOTO|^3?`a(c)o
   1/4sCURj"IYENI-aI-a-oDEG^A:mCUR~+-oYENHuo(R)iS:S:CURj-a-o!CS:UICUR-L-P:E<<D+-`.PAA+-z(c)ODEGu-a-oDEG^A:m!A|OYENB!A^3o"C,CURuS:@^1i(c)o
   FreeBSD -a-o<<uA:ouo(R)iCUR]|U:Ao:<<n!C

   CUR]^3\>>P+-z.Q^1^3-a-oCUR-L-|P!A+-zNOTJCUR-L-YEN^2+-oNOTOCUR@|WYENX|a-a-o
   Programmer!ACUR]uLP:.(c)M FreeBSD core team
   |"u|^3<<U:|n-a-o"pYENae!AS:UI.|CUR@uo/|PCUR--a-o^1i<<Y+-z-a-oCURuS:@!C
   FreeBSD
   -a-oP:}uoCURHu^1MYENNOTYENth^2y!ACURj(R)aS:TH^3N+-M-ao/|U^2S:!A|~A:O:CURAYENNOTCUR]<<D+-`
   1/4s-ax!C uM|O!A"CCURNS:UI^3-L-|b+-^1i<<uA:o
   1/4WYEN[-a-oCURuS:@!A|OW(c)o"S|^3"NOTDEG-:-a-oCURHCURa!A|]|^1S:UIAH(R)EAAw-ai+-z-a-oADEGS:U!C

   FreeBSD p^1-o(c)O^3B^2z-a-oNOTOCUR@OS:^1
   3/4a-a-oS:@.~"t^2IAo^1O!A|OCUR-L-YENuNOTOCUR@O kernel
   (c)INOTOCUR@"C,^1s'^2-a-oCURu"aYEN]!C |]|^1!AS:UI-a-o TODO
   <<Y?`iYENoDEGE|C-ai,IYEN]S:t|U|!|U 1/4E-a-oCURuS:@!G
   +-qCURaaYENo!B"IYENI-aI'u,O!Bdemo!A"`i"t^2I|w,Eu{|!(c)MS:o+-M.~-a-o kernel
   P:}uo!C |]|^1uL 1/2
   *+-z-a-oS:TH^3NCURo.C,|p|o!A+-q"AE|o-oO/>>aDEG`i!A^3-L-YENiYENHADEGS:U^3oOp^1-o!C

   S:UI^1-aAy+-q"AE(c)M FreeBSD NOTUAo:CURuS:@-a-oYENo/.~(c)MS:UIApA'!C
   +-z>>YnCUR@"C,-S(R)i-a-oAX(R)i"O"I+-z-a-o^2-L-<<~^1BA`aDEG_"OP:U:!H
   +-z.|uo^2{S:UI<<U: 1/4O:.Nu-aA^3+-z-a-o
   1/2D-"D!ADEG-L-<<DNOTO-SS:Ou}(c)_YENj(c)C,-a-o!C
   +-zNOTOS:_YEN?+-q"AENOTUAo:-a-o 1/4WE.~DEGE!H AAyS:UI"OADEGS:U+-zS:a!A
   S:UICUR]^3\YENiYENH|bNOTY"C,CURe+-NOTUCURNOT|XS:@!C
   |UYENN^3nAAeNOTEYEN?|bS:VCUROYEN'-}AA|^3-a-o(R)O/(R)O/(^1^3NOTOAo:(c)o^3nAAeP:}uo!B
   3/4PDEGa(c)M-ouAA@)!A S:UIS:AE+-aeAu 1/2D-+-z|U:CURO:-`au^1YEN|CUR@|,
   3/4-:.|!C

1. S:UI-a-o>>Y"D

   CURU+-|CYENXCURFCUR@"C,>>YnS:^1|"-a-oYENoDEGE(c)MCURlp^1-o!A YEN|IYENN-ai
   TODO(<<Y?`iYENoDEGE|C-ai) |C-ai-a-o.N<<a:!AYENHCURI"IYENI-aI-a-on"D!C

  1.1. YEN?|bP:i|aeCURCUR-a-oYENoDEGE(<<Du{|!P:}uoCURHu)

   <<U:|hDEGNYEN[ FreeBSD p^1-o-a-oCURHCUR-L-NOTO Programmer!C
   ^3oOp^1-o,I|^3CURaaYENo 1/4P:
   1/4g-aI!B-ooP:^3]p(R)v!BYENHCURIS:TH^3NCURa:'(c)CURHu!C
   ^1i(c)o^3o"C,,qCURu"O>>!!AYENLIYENu>>YnDEG^A:mCUR@"C,(R)EP:!!A"AYENB"a|^3
   3/4C,^2ss-a-o.NA:@!C

    1. +-zYENiYENH(R)E+-`A 1/2 3/4\ FAQ (c)MCURaYENU(Handbook)
       !A|p-aGuo^2{|^3,NA:ACUR-L-^2M.!-a-o|aCURe!A(c)INOTOCUR-L-|X(R)E(c)y-a-oCURaaYENo!ANOTAE|U:S:^1YENthCUR-L-YEN?
       1/2T-a-o|aCURe!A ^3-L- 1/2D-S:iP:DS:UI!C.iuM!AY-`aP:P:CURaS:aYENLI
       *YEN?!A"AS:aDEGE>>~+-Hu^1S:UI!A"-o'NS:o|nCURF!C:) (SGML
       "a:^1e"ACUR-L-Ao/ 3/4C,!A|yS:UICUR]CUR-L-CURI^1i+-z-a
       1/2+-u'-L-YENaeCUR@-e ASCII -a-o-ACURaa|r-a(c)YEN>>)!C

    2. ADEGS:US:UIS:a FreeBSD CURaaYENoA 1/2A:P:|"S:A-a-oYENA>>y!C
       |p-aGS:A-a-oYENA>>y-a(c)YEN>>CURw,g|s|bCURF!A CUR]YENiYENHA
       1/2A:P:CUR@"C,ABYEN~-a-oCURaaYENo!A(c)I-aIAENOTd"-o"C,CURw|^3-a-oCURaaYENoNOTOS:_NOTDEG^3I.s-a(c)!C
       +-zYENiYENHYENyA^2^3aeNOTYNOTY FreeBSD CURaaYENop^1-oCURCUR|^3Ao: A
       1/2A:P:(R)E-a-o+-`"-L-DEGYAD!C DEGNYEN[A
       1/2A:P:CURuS:@!A"ACUR-L-NOTO>>!+-zn(c)tx 3/4A: 3/4OA 1/2A:P:(c)O|^3
       FreeBSD CURaaYENo!C
       "NOTDEG,qCURu!AnDEGu|hCURO:CURuS:@S:^1YENth"u"M(c)o+-z-a-o.NA:@!CCUR@YEN^1NOTYOCURHP:}(c)lA
       1/2A:P:CURF!A
       CURS:<<a'XYENGCUR@(c)w.||^3"a:YENLCURHDEGN>>P"`i^3o"C,CURuS:@CURCUR"O!C
       |p-aG(R)EP:!|^3!A(c)I-aI-oeCUROCUR-L-DEG-:YENhA 1/2A:P:
       3/4aYEN-:CURaaYENo!A"-oYENiYENH-oYENyYENhA 1/2A:P:|w,E<<u:<<n!C

    3. 3/4\AA-a FreeBSD general questions P:l>> 1/4 1/2 * 3/4A "ADEG,-o,A 1/2
       3/4\(NOTAE|U:|^3^3W<<ss|a^3o 1/4EDEGu) the comp.unix.bsd.freebsd.misc
       newsgroup !C>>PS:OCURHCURA"E+-z-a-o+-M.~-a 3/4AN!A
       "AADEGS:UYENLI,N"MDEGYAD!ANOTOYENoYENOCURH'r(R)(R)-a-o"AE+-!!F
       |^3(R)EO!A+-zNOTAE|U:YENiYENH|b^3oO^1Lu{CURCUR
       3/4C,"`iCUR@"C,.s-aF|e!I ^3o"C, 1/2 *
       3/4A|^3(R)ECUR].|NOTDEG+-z?EuoYENXCUR@"C,CUR-L-?u-a-o.Q-ak!C

  1.2. YEN?|bP:i|aeCURCUR-a-oYENoDEGE(u{|!P:}uoCURHu)

   |C|b^3o,I-a-oCURj^3!CURAYENoDEGE^3-L->>Yn+-zS:eCURJYENiAE[-a-o(R)EP:!!A(c)I-aI>>Yn+-z|b
   FreeBSD kernel CURe+-|^3A *'I-a-o-a
   3/4AN!A(c)I-aI"a-aI^3-L-n!C.iuM^3o,ICUR]|^3<<U:|h<<n-a-oYENoDEGE!A
   3/4A|X^1^3NOTO !S:weekend hackers!" ^3oAthYENuYENIP:gYEN
   1/2'NYENiYENH.d(c)w-a-o Hacker!C

    1. |p-aG+-zYEN?|bP:]-a-oNOTO FreeBSD -CURRENT
       -a(c)YEN>>!A"AYENB-oo,o^3t<< *AUCUR-L-?u!A "-o>>oYENiYENH"`i
       current.FreeBSD.org!A ^3oYENx"CCURN.||^3CUR@O.s-a(c)YEN>> !X!X
       |p-aG+-z|^3-aAA!A +-zYENiYENHCURTCUR-L-CUR(R)ECURU,u:"A|w,E!A
       "a:P:!|p-aGYENXCURFCURDEG>>oDEGYAD!A 1/2D-S:iP:DS:UI!C

    2. 3/4\AA-a FreeBSD problem reports P:l>> 1/4 1/2 *
       3/4A!C^3o"C,DEGYAD!A(c)I^3\+-z-`a'-L-"N|^3<<O/^3](c)E.N,q-a-o.N"-L-!A
       (c)I-aIADEG|-L-'u,OCUR@"C, patch !C|^1YEN~!ANOTAE|U:YENiYENH^1A,O
       *YEN?"a:CURCUR-a-oCUR@"C,DEGYAD!C

    3. |p-aG+-z-a 3/4^1D|^3CUR@"C, *YEN?CURw,g|b -CURRENT
       CURW|"YEN\|a"IYENI!A |y|b,g^1LCUR@NOTq(R)EP:!(^3q+-`NOTO 2
       P:gYEN-aYENk)CURS:<<a!ACUR'YEN 1/4|X"O:"`i -STABLE (^3o"BAEJ'NNOTO MFC
       -- Merged From Current)!A"-o>>oYENiYENHu^1NOTUAo:-a-o committer
       CURHuuo<<EAS:>>-a-a-o'-L-?o<<H!C

    4. +-N^2A:CURTCURe(3rd party)^3nAAeYEN[CURJ"`i`i(c)l 1/2XCURCUR-a-o
       src/contrib YENO/?y!C

    5. 1/2T<<O src/contrib CURCUR-a-o`i(c)l 1/2XNOTO^3I.s-a-o!C

    6. 1/2sA:P:`i(c)l 1/2X((c)INOTO^3!CURA`i(c)l 1/2X)(R)E!A
       1/2D-S:iYENIS:oDEG-a-a-oA:uS:iuYEN-AA(warning level)
       YENH<<KDEG>>?u(debug)YENI!A"A|bS:^1|"'u,O!B
       1/2T>>{YEN?+-`S:^1^2|CURS:<<a!A^2MDEG-L-^3o"C,
       1/2sA:P:-a-oA:uS:iuYEN-AA!C

    7. S:o.s"-o"C,|b ports CURCUR"IYENI^1L(R)E-a-o-aF|e!A "O|p gets()
       (c)IYEN]S:t malloc.h (c)O^2-L-YENI-a-oA:uS:i!C

    8. |p-aG|^3NOTDEG ports S:@CURFYENo|o *YEN?!A  1/2D-DEGO+-o+-N+-z-a-o
       patch uou^1`iS:@-aI (^3o
       1/4ECURU|,CURE-AA(R)E!A+-z-a-oCURuS:@.|AAU:+-o>>'APCUR@"C,)!C

    9. YENy"u+-oYEN?|!-a-o 1/4D-.C,!A|p POSIX(R) -a-oDEGAEYEN>>!C |b FreeBSD
       C99 & POSIX  1/4D-.C,NOTU(R)ep^1-o
       -oo-,CURW!AYENiYENH+-o"`iNOTUAo:A`i+-u!C  1/2D-+-N FreeBSD
       -a-o|aeNOTDEG>>PCURWz-a-o 1/4D-.C,P:i|aeCURn,u!AY(c)O+-ou^2-aG>>P C99
       & POSIX  1/4D-.C,CUR-L-|P-a-o,U:!A
       -SS:ONOTO"-o"C,^2O,`|aCURe-a-o.LCURp(R)t^2S:!A
       1/2D-uoCUR@OAo:(c)oYEN|-a-o PR (DEGYAD^3o/S:i)!C |p-aGYENi-`a!A
       1/2D-<<u:YENX|p|o *YEN?YEN|!A"AAH PR '-L-YENae patch !C
       |p-aG+-z>>{NOTDEG 1/4D-.C,|^3DEGYAD!A 1/2D-|V^3o"C,^3W(R)ae
       1/4D-.C,-a-oNOTUAo:^1IAAe!A 1/2D-"D^1i"a:P:i|ae<<.s-a-o|O 1/4{!C

   10. NOTDEG^3oYEN-:|C-ai'-L-"NS:o|h<<O/A:^3!I

  1.3. NOTd 3/4\ 3/4aO PR ,e(R)AE(R)w

   FreeBSD PR |C-ai ^3o,I.|AAaYENU:YENO/<<e(c)O|^3 PR
   -a-oDEGYAD-aNOT-oA!AYENHCURIYENN FreeBSD
   "IYENI-aI'-L-YENae-a-oS:iP:i<<O/A:^3!C PR
   ,e(R)AE(R)w|P(R)EYEN]NOTACURFP:}uoCURHu(c)M<<DP:}uoCURHu-a-oYENoDEGE!C
   NOTdNOTY"-o"C,(c)|YEN 1/4,N"M-a-o PR!A"ANOTYNOTYNOTOS:_|^3+-z.P?^3
   1/2`i-a-oYENoDEGE!C
   ^3o"a:CURCURYENi-`a|^3CUR@"C,NOTO<<D+-`A^2^3ae-a-oDEGYAD!AYENu>>YnNOTYCUR@NOTY"A
   1/2T>>{ PR NOTOYEN? 1/2T-a-o!C YENtYEN~CUR@"C,YENi-`a.|<<D+-`
   1/2AEAo/!A(c)I-aIS:^1YENthYEN 1/4-athYENo|o *YEN?!C

   -oYENyNOTYCUR@NOTY"-o"C,AU"S|^3CURH+-uCURa-a-o PR!C |p-aG PR
   CURw,gCURADEGtu^1CURF"a:YEN|CURH!A|yNOTYDEG_"ONOTO+-z-`aDEG-:^3B^2z-a-o!A
   +-zYENiYENH+-H<<Hu^1"-oOCURH!A"A,ssDEGY+-zNOTOS:_YENiYENH'-L-"NADEGS:U
   !X!X YENLIYENi-`aCURw,g|^3YENi"N'u,O-a-o patch !A(c)I|^3CUR@"C,YENi"NDEGQ
   1/2 *-a-o.N"-L-!C

  1.4. YENN !S:Ideas!" CURCUR?iCUR@P:u

   FreeBSD list of projects and ideas for volunteers |P
   1/4E|aP:}(c)nu^1|^3.NA:@DEGN>>P FreeBSD p^1-o-a-oCURH!C
   ^3oYEN-:^2M^3ae+-N<<uA:o|aS:o.s!A|P(R)E'-L-"N|UOP:uYENO/-a-o,eDEGTu^1(c)O|^3CURH
   !]CUR-L- 1/2 *NOTOS:_NOTDEGu{|!^3]pCURHu!^!C

2. |p|o'-L-"NADEGS:U

   DEGoYEN>>CURWYENiYENHCURANOTDEGYENHCURU 5 -oO/CURe|!!G

  2.1. ?u>>~^3o/S:i(c)M.N"-L-uo-ai

   ^3q+-`!ACUR@-e -a-oS:TH^3N.Q-ak(c)M<<O/A:^3A^3,Ouo"`i FreeBSD technical
   discussions P:l>> 1/4 1/2 * 3/4A!C |P 1/4E|a!A^1i(c)o^3o"C,-aF|e|^3?^3
   1/2`i-a-oCURH (.iuM!A YENLI|P(R)EAUn-`aDEG-:(R)eS:O CURjP:q-a-o P:lYENo!I)
   YENiYENH|O 1/4{q 3/4\ FreeBSD technical discussions P:l>> 1/4 1/2 * 3/4A!C
   1/2D-DEGN 3/4\ FreeBSD "IYENICURaYENU YENHCURF,NAo:(c)o^3oOP:l>> 1/4 1/2 *
   3/4A!A YENHCURI"a:YEN|P:l>> 1/4 1/2 * 3/4A-a-o,O^2O+-!-ap!C

   |p-aG+-zuo^2{CURF bug (c)I-aI.Qn'-L-YENaeNOTY"C, *S:i!A  1/2D-^3z^1L
   send-pr(1) u{|!(c)I"IYENI -ooP:CURP:+- -a-o|^^3o/ "O'-L-YENae!C
   1/2D-,OuUP:n 1/4g PR -a-o"COP:uYENO/!C CUR@-e"O>>!!ADEG-L-<<D patch
   AEP:W^1L 65 KB!AS:UI<<O/A:^3|b PR CURCUR-a 1/2+-u-athCURW patch
   'NYENiYENHCURF!C YYENi-a 1/2+-u(R)MYENI patch "`i`i(c)l
   1/2X-a-o,U:!A"-o>>o<<O/A:^3|b PR -a-o Synopsis A:ae|`iuu(c)u [PATCH]!C
   ^1iCURF!A|b-athCURW patch (R)E!A 1/2D- CUR-L-n ^3z^1L.AE^1<<-a-o!y
   1/2AE>>s!BP:KCURW!z"OP:i|ae!A|]NOTDEG^3o 1/4EDEGu.|S:a Tab
   AAU:|"-aAA(R)ae!A .| 3/4EP patch 'NCUR-L--`aYENICURF!C|p-aG patch P:W^1L
   20KB!A  1/2D-|O 1/4{A-L-AYYEN|"A"IYENI uuencode(1) "OP:i|ae 1/2s 1/2X!C

   |b 1/4gS:^1 PR CURS:<<a!A+-z.||NOT"`iCUR@<<E
   1/2T>>{P:lYENoYENHCURI"AEYENoDEGlAU: 1/2s,^1!C  1/2D-<<O-d^3oO
   1/2s,^1!A|]NOTDEG"AE<<aYENiYENHYENI^3o 1/2s,^1uo<<H"`i
   <bug-followup@FreeBSD.org>
   "O|^AD-!B'-L-"NAo:(c)o,O"AEYENo-a-o<<aA:o,e(R)AE!C+-z>>YnDEGu-a-oNOTO+-N
   1/2s,^1(c)n"`iP:lYENo-a-o 1/4D-ADCURCUR!A "O|p "Re: kern/3377"!C
   YNOTO|PCUR@DEGYAD-a-o|^AD-CURe+-!AA^3,O^3z^1L^3o-oO/CURe|!"OP:i|ae!C

   |p-aG+-z|bCUR@NOTq(R)EP:! (P:W^1L 3 CURNNOTAE|U: 1
   P:g!A^3o"u"M(c)o+-z-a-oP:lYENo-aADEGE)CURS:<<aCUR'uM"S|^3|NOT"`i
   1/2T>>{<<H (c)I-aIYENN(c)oCUR@"C,`i|]uL-ak"IYENI send-pr(1) u{|!!A
   <<hYENiYENHuo<<H"`i FreeBSD problem reports P:l>> 1/4 1/2 * 3/4A "O
   1/2D-S:OCURHADEGS:AYENN+-H!C

   1/2D-DEGN 3/4\ ^3o 1/2gCURaa^3^1 CURF,N|p|o 1/4P:
   1/4g|n-a-oDEGYAD^3o/S:i!C

  2.2. ^1i(c)oCURaaYENo-a-o *q

   CURaaYENo-a-o *S:iCURe+-!ANOTOYENN FreeBSD documentation project P:l>> 1/4
   1/2 * 3/4A "O 1/4fNOTd!C  1/2D-DEGN 3/4\ FreeBSD Documentation Project
   Primer "OAo+-oS:^1 3/4a-a-o+-D- 3/4C,^2O,`!C  1/2D-<<o:.O ,` 2.1,
   !S:?u>>~^3o/S:i(c)M.N"-L-uo-ai!" CURCURCURP:^2D--a-oCURe-ak"IYENI
   send-pr(1) "O'-L-YENae.s-a-oCURaaYENo!A(c)I-aIS:iu 1/2^2{|^3-a-oCURaaYENo
   (th(c)ENOTO<<U:CURp-a-oS:iP:iCUR]NOTOAAw-ai-a-o!I)!C

  2.3. ^1i(c)o^2{|^3`i(c)l 1/2X-a-o *S:i

   |b^2{|^3`i(c)l 1/2XCURWP:i|ae *S:i(c)I 1/4WYEN[YEN\-`a!A|bNOTY-oO/u{<<
   *CURWNOTO>>YnS:o|hS:THYEN(c)-a-o"AE!A "AYENBAU,o+-z^1i(c)oYENO/<<e FreeBSD
   -a-oP:}uo^2{-aNOTCURF,Nu{<< *|^3Ao:!C
   |^3|h-oO/CURe|!YENiYENH+-o"`i^3Q-oUS:@ !S:FreeBSD-CURRENT!" -a-o FreeBSD
   P:}uo-a(c)YEN>>!C  1/2D-DEGN 3/4\ FreeBSD "IYENICURaYENU-a-o
   NOTUAo:^3!YEN-: !A"OCURF,N"IYENI FreeBSD-CURRENT -a-o,O+-!!C

   |bAA-a-o`i(c)l 1/2XCURWP:i|ae *S:i!A<<h^3q+-`YENi-`a`i(c)l
   1/2XCURw^1L(R)E!A (c)I>>P.s-a-o-a(c)YEN>>(R)t^2S:CUROCURj|OuL-ak^3Q<<.s
   3/4a|X"`i FreeBSD CURCUR!C |p-aG+-z|^3q FreeBSD announcements P:l>> 1/4
   1/2 * 3/4A YENHCURI FreeBSD-CURRENT P:l>> 1/4 1/2 * 3/4A -a-o,U:!A
   <<hYENiYENH^3z^1LYEN|I"OCURjPCURF,NYENO/<<e-a-oP:}uo-aNOT-oA!C

   Y+-z-`aDEG-: 3/4"P:qYENH^3I.s-a-o`i(c)l 1/2X"OP:i|ae+-z-a-o *S:i!A
   <<hCURUCUR@"BnDEGu-a-o"AE+-!'NNOTO^2-L-YENI+-z(c)O *S:i-a-o diff AE!A
   "A+-NYEN|uou^1 FreeBSD -a-o-ouAA@CURHu!C^3oP:uCURuS:@YENiYENH^3z^1L
   diff(1) (c)RYENO"OS:^1|"!C

   '-L-YENae patch (R)E!A<<O/A:^3 diff(1) (R)ae|!+-A:YENI unified diff
   (YENiYENHYENI diff -u "O^2-L-YENI)!CCUR-L-^1L!A|p-aG+-z
   *S:iCURFCURjP:q-a-o`i(c)l 1/2X!A <<h"IYENI diff -c "OYENI|"-a-o context
   diff -a-o diff YENi-`aS:o(R)e(c)o:
   3/4\AA-a!A|]|O+-AAE"IYENI!CCUR@-e|O"YEN!ACURj^3-L-NOTO+-A:YENI diff -ruN
   S:YYENi!C

   "O|p!G

 % diff -c oldfile newfile

   (c)I

 % diff -c -r olddir newdir

   +-N.|^1i-S(c)wYENO/?y!A^2-L-YENI context -a-o diff AE!C

   (c)I-aI^1^3NOTO...

 % diff -u oldfile newfile

   (c)I

 % diff -u -r olddir newdir

   +-N^2-L-YENICUR@ 1/4E-a-o diff !A|yNOTO(R)ae|!NOTDEG unified !C

   S:o|h-a-o^2O,`^3!YEN-:!A 1/2D-DEGN 3/4\ diff(1)!C

   CUR@YEN^1+-z"IYENI diff(1) "O^2-L-YENI diff AE (YENiYENH"IYENI patch(1)
   (c)RYENO"O'u,OCUR@CURU)!A'NYENiYENH'-L-YENaeYEN|I!AYENH<<K^3Q FreeBSD
   |NOT?y!C ^3z^1L"IYENI ,` 2.1, !S:?u>>~^3o/S:i(c)M.N"-L-uo-ai!"
   CURCUR(c)OCURP:^2D--a-o send-pr(1) u{|!'NYENiYENHS:^1|"^3oP:uCURuS:@!C 
   1/2D--a`.N!GCUR-L-nYENuS:a diff AEuo"`i FreeBSD technical discussions
   P:l>> 1/4 1/2 * 3/4A!A S:_<<hYEN|IYENi-`a.|^3Q?oS:N!I
   S:UI.|<<D+-`.P?E+-z'-L-YENae-a-o *S:i (^3oNOTOCUR@O,qCURup^1-o!I)!F
   |]NOTDEGS:UI^3-L-<<U:|-L-!A |]|^1|^3(R)ECUR-L-CUR@(c)w-`aDEG-:YENssS:Y
   *YEN?DEGYAD!A|y PR ,e(R)AE(R)w+-NCUR@-a 1/2<<O<<uuU^3o"C,DEGO?y!A
   |]|^1YENun|^3CURH|^3CURF(R)EP:!YEN|I'N-`a^3QS:iYEN?CURF!C
   |p-aG+-z-a-oDEGYAD^3o/S:iCURCURYEN]NOTA patch !ACUR-L-nS:NCURF|b
   1/4D-ADYEN[CURW [PATCH] "O+-j 1/2OCUR@CURU!C

   |p-aG+-z>>{NOTDEG|X 3/4A ("O|p 1/4W!BS:RAE(R) *(c)IS:oS:iAE|W)!A
   AUYENiYENH|O 1/4{"IYENI tar "O+-NAE(R) *YEN'YEN]!AuM<<aYENI uuencode(1) "O
   1/2s 1/2X!C|^1YEN~!ACUR]YENiYENHYENI shar(1) ^2-L-YENI-a-oCURe|!!C

   |p-aG+-z-a-o *S:iYENi-`a|s|b 1/4c,|b-a-o-aS:A:^3!A"O|p!A +-zCUR-L-
   1/2T(c)wNOTUAo:-a-o-a(c)AAvDEGYAD!A(c)I-aI.PA:+->>Yn,g^1LS:oA:Y(R)ae-a-o'_
   1/4fCUR~YENiYENHuoS:GYEN|I!A <<hA^3-a 1/2+-uuou^1 Core Team
   <core@FreeBSD.org>!A|OCUR-L-NOTO^3z^1L send-pr(1) "OuoDEGe!C Core Team
   <core@FreeBSD.org> ^3oCURp^2O|"uCURj|h+-q"AE FreeBSD -a-oCURe+-`CURuS:@!C
   >>Yn-a`.N-a-oNOTO!A^3oOCURp^2OCUR]|]|^1CURQCURA|-L-,L!A
   |]|^1YENu|^3|b<<D+-`YEN^2n-a-o(R)EO!ACUR~A^3 1/4g<<Hu^1YENLI!C

   1/2D-DEGN|O intro(9) (c)M style(9) YENHCURF,NAo:(c)o 1/4P: 1/4gu{|!
   1/2X-a-o.(R)aeDEG 3/4|n!C Y-`a|bDEGeYENXNOTUAo:u{|!
   1/2XCURS:<<e!AYENyCURF,N^3o"C,!A"-o^1iCURj(R)a"O>>!+-NNOTO.YENCURj-a-oADEGS:U!C

  2.4. .s`i(c)l 1/2X(c)I<<n-a-oYEN[E^3nAAeYEN]

   |p-aG+-zYEN'-oa'-L-"N^3W 1/4O,uCURj-a-o`i(c)l 1/2X!A(c)I-aINOTDEG FreeBSD 
   1/4WYEN[<<n-a-o.sYEN\-`a!A <<hYENi-`aYEN^2P:.+-NYEN|I^3z^1L uuencode
   P:i|ae 1/2s 1/2X!A(c)IP:C,"`iNOTYO Web (c)I FTP
   -,AI!AYENH<<KS:o|h-a-oCURH-`aDEG-:+-o"`iYEN|!C|p-aG+-z"S|^3^3o
   1/4E-a-oYEND 3/4-:!A  1/2D-"`iNOTUAo:-a-o FreeBSD P:l>> 1/4 1/2 *
   3/4A'-L-YENX!ANOTYNOTYNOTOS:_|^3CURHA:@.NADEG+-z(c)n,mYEN|I!C

   ^1i(c)oCURjP:q-a-o`i(c)l
   1/2X|O"YEN!AAo:(c)o-a(c)AAv-a-oDEGYAD-aO:(c)w.|^3Q'-L-YENX!C FreeBSD
   DEGoYEN>>"t^2ICURCUR-`aDEG-:"IYENI-a-o-a(c)AAvAn(c)uYEN]NOTA!G

    1. BSD -a(c)AAv!CS:UIP:E|V(c)o"IYENI^3oAth+-AAAv-a-o`i(c)l 1/2X!A
       |]NOTDEGYEN|!yCUR-L--athYEN[|h
       3/4l-a-o+-o/YENo!z!A|]|OS:o-`aDEG-:S:lCURTHDEGO.~YENo/.~"IYENI!C
       FreeBSD "ACUR-L-CURI^1iDEGO.~CUR 1/2YENq"IYENIYEN|-a-o`i(c)l
       1/2X!ANOTUCURI!A S:UI?n.YEN|a^1-aAyDEGO.~CUR
       1/2YENq"IYENIS:UI-a-o`i(c)l 1/2X!A .iuM!A|p-aGYEN|IY^3I^2
       *-`aS:a^3!CURA`i(c)l 1/2X!A<<.s(R) 1/2AO/u^1 FreeBSD 'NS:o|nCURF!C

    2. GNU General Public License!A(c)IA^2-oU !S:GPL!"!C
       S:UI"ACUR-L-<<U:AAw-ai"IYENI^3o 1/4E+-AAAv-a-o`i(c)l 1/2X!A
       |]NOTDEGDEGO.~CUR
       1/2YENq"IYENIYEN|>>YnDEGuS:o|h-a-oCURuS:@!CCUR-L-^1L!AYENN(c)o<<U:|h"IYENI
       GPL +-AAAv-a-o`i(c)l 1/2XYENO/<<eNOTOuL-akA *S:K-a-o (compiler,
       assembler, text formatteruYENuYEN) !A(c)Uu'"IYENI(c)O|^3+-A:YENI^3o
       1/4E+-AAAv-a-o^3nAAeNOTO<<U:CUR-L-(c)u' 1/4-a-o!C +-A:YENI GPL
       +-AAAv-a-o`i(c)l 1/2X.|^3Q(c)n"`i`i(c)l
       1/2X-a-oCUR@"C,-S(c)w-a-o|`i,m!A"O|p /sys/gnu (c)I
       /usr/src/gnu!AYENH<<K"-o"C,>>{NOTDEG GPL
       YENi-`a.|^3y|"^3A.D--a-oCURH-`aDEG-:S:@YENX 3/4A.i-a-oS:PA_!C

   "IYENI"a:YEN|+-AAAv-a-o`i(c)l 1/2X|bP:iCURJ FreeBSD
   CURS:<<eYEN^2P:.,g^1L.V<<-a-o'_ 1/4f(c)M|O 1/4{!C +-A:YENIYEN]S:tA:Y
   1/4F"i-a-oDEGO.~+-AAAv-a-o`i(c)l 1/2X!ACUR@-e"O>>!.|^3Q(c)Uu'!A
   |yS:UI^1-aAy^3o"C,`i(c)l
   1/2X-a-oS:@-aI!A^3z^1L|UCURv-a-o-oTH^1D"OuoYENNOTYEN|I!C

   Yn|b+-z-a-o|"-aGCURWYEN[CURJ !S:BSD-based!" -a(c)AAv-a-o,U:!A 
   1/2D-S:aCURU|CCURaa|r(c)n"`i"CYEN-:`i(c)l 1/2X-a-o^3IP:}(c)l^3!CURA!A
   "AYENI 3/4A.i-a-oCURaa|r'A'<< %% CURS:P:!-a-oCURaa|r!C

 Copyright (c) %%proper_years_here%%
         %%your_name_here%%, %%your_state%%  %%your_zip%%.
         All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:
 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer as
    the first lines of this file unmodified.
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

 THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR
 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT,
 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

         $Id$

   NOTDEGCURFCURe<<K+-z-a-o"IYENI!A|b
   /usr/share/examples/etc/bsd-style-copyright
   CUR]YENiYENHS:a:"`i|^1+-AAAv-a-oDEGAEYEN>>!C

  2.5. AUS:U,e-a-:!BuwAAe(c)I Internet mirror

   S:UI<<D+-`A:@.N+-u"u:|U-oO/S:I|!-a-o(R) 1/2AO/!AYENHP:iCUR@"B(c)Y(R)i
   FreeBSD p^1-o !A|]NOTDEG|^3+-z-a-oCURa:<<u!A^1^3S:UI^3o
   1/4E-a-o,qCURuS:VCUROCUR~-`aDEG-:|^3S:oCURj-a-o|"'N!I (R)
   1/2AO/uwAAeCUR]<<D+-`<<n!A|]NOTDEG^3o 1/4E-`aDEG-:ADEGS:US:UI
   1/4WYEN[YENiCURa:'(c)-a-ouwAAe-oO/Ath!A
   |OS:UICURCUR-a-o<<U:|hCURH"A"S|^3"NOTDEG-:-a-o,e-a-:"OAE,m^3o"C,uwAAe!C

    2.5.1. (R) 1/2'U

   FreeBSD DEGo-a-:.|NOTOCUR@O<<DAc,S:Q-a-o!B|^3
   1/2Ou|AAAS:KAAv-a-oDEGo-a-:.|!A
   CURS:(c)OYENH.|<<O/YENss^3oODEGo-a-:.|!ANOTONOTDEGCURFAAy FreeBSD
   p^1-o-`aDEG-:YENi-ao/YENiCUR[!C |]NOTDEG,ODEGo-a-:.|A:Y 501(c)3
   ^1eAAe!ACUR@-e|O"YEN(R)
   1/2'Uu^1DEGo-a-:.|-a-o,U:!AYENiYENHS:KA-oNOTu:DEGeAp"^1|NOTCURJu|!A
   YENHCURINOT`iA^1(c)O|h|{|NOTCURJu|!C^3q+-`^1i(c)o|^3
   1/2Ou|AAAS:KAAv-a-o^1eAAeP:i|ae(R) 1/2AO/-a-o,U:!A
   YENiYENHS:e(c)eAp"^1|NOTCURJCURCURA^3 1/2Ou|^3!CURA-a-o-a-:AB!C

   +-zYENiYENHS:aCURa:^2 1/4+-H(c)^1!G

       The FreeBSD Foundation
       7321 Brockway Dr.
       Boulder, CO 80303
       USA
     

   FreeBSD DEGo-a-:.|^2{|bYENiYENH^3z^1L PayPal +-q-ooCURW+-u"u:(R) 1/2'U!C
   |p-aG+-z.Q|VDEGo-a-:.|(R) 1/2'U!A 1/2D-DEGN 3/4\ FreeBSD DEGo-a-:.|
   -oo-,!C

   Ao:(c)o FreeBSD DEGo-a-:.|-a-oS:o|h,O+-!!AYENiYENH|b FreeBSD DEGo-a-:.| --
   CURP:^2D- S:a:"`i!CnApu,DEGo-a-:.|!A  1/2D-uoDEGe^1qCURlP:lYENo"`i
   <bod@FreeBSDFoundation.org>!C

    2.5.2. (R) 1/2AO/uwAAe

   FreeBSD p^1-oAAw-aiYENo|oCURH(R) 1/2AO/YENiYENH"IYENI-a-ouwAAe!C
   |p-aG+-z|^3?^3 1/2`i(R) 1/2AO/uwAAe!A 1/2D-ApA' (R) 1/2AO/Apu,CURH?`iCUR
   1/2<<C,!C

    2.5.3. |"NOTDEG FreeBSD mirror -a-o-oo-,

   S:UIAAw-ai.s-a-o FTP!BWWW (c)I cvsup mirror
   -,!C|p-aG+-zS:AE+-ae|"NOTDEG^3o 1/4E-a-o mirror -,!A  1/2D-DEGN 3/4\
   |p|oNOT[^3] FreeBSD mirror CUR@CURaa!AYENHCURF,NP:iCUR@"B-a-o+-!-ap!C

-ACURTH

  ^2AA,^1

   DEGYAD^3o/S:i,e(R)AE(R)w, NOTd 3/4\ 3/4aO PR ,e(R)AE(R)w

   (R) 1/2AO/, (R) 1/2AO/uwAAe

   '-L-YENaeCURaaYENo, ^1i(c)oCURaaYENo-a-o *q

   DEG^A:m, ADEGS:U FreeBSD

  B

   BSD -a(c)AAvAn(c)u, .s`i(c)l 1/2X(c)I<<n-a-oYEN[E^3nAAeYEN]

  D

   diff, ^1i(c)o^2{|^3`i(c)l 1/2X-a-o *S:i

  F

   FreeBSD-CURRENT, ^1i(c)o^2{|^3`i(c)l 1/2X-a-o *S:i

  G

   GNU General Public License, .s`i(c)l 1/2X(c)I<<n-a-oYEN[E^3nAAeYEN]

   GPL (DEGN"-L- GNU General Public License)

  U

   uuencode, ^1i(c)o^2{|^3`i(c)l 1/2X-a-o *S:i
