Modificato la sezione invariante mettendoci solo quello che e effettivamente
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 15 Dec 2004 21:11:08 +0000 (21:11 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 15 Dec 2004 21:11:08 +0000 (21:11 +0000)
importante

gapil.tex
pref.tex
sockctrl.tex

index 7d96b48d6aaca6e9a0e32402fa3e9973a9dbd6c7..8cf4bf680db394e9a34319debeccf7b3dbd6b169 100644 (file)
--- a/gapil.tex
+++ b/gapil.tex
@@ -88,7 +88,8 @@
   Copyright \copyright\ 2000-2004 Simone Piccardi.  Permission is granted to
   copy, distribute and/or modify this document under the terms of the GNU Free
   Documentation License, Version 1.1 or any later version published by the
-  Free Software Foundation; with the Invariant Sections being ``Prefazione'',
+  Free Software Foundation; with the Invariant Sections being ``Un preambolo''
+  in ``Prefazione'',
   with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
   license is included in the section entitled ``GNU Free Documentation
   License''.
 
 \clearemptydoublepage
 \include{macro}
+\include{preambolo}
 \include{pref}
 \clearemptydoublepage
 \mainmatter
index bf247e37eaa82569f6897d45b8fb6ef8cbcff568..09656e3cb68b3662ddb00b46dbd443f04aab6d30 100644 (file)
--- a/pref.tex
+++ b/pref.tex
 \chapter{Prefazione}
 \label{cha:preface}
 
-Nelle motivazioni in cui si introduce la GNU Free Documentation License (FDL)
-(reperibili su \href{http://www.gnu.org/philosophy/free-doc.html}
-{http://www.gnu.org/philosophy/free-doc.html}) si dà una grande rilevanza
-all'importanza di disporre di buoni manuali, in quanto la fruibilità e la
-possibilità di usare appieno il software libero vengono notevolmente ridotte
-senza la presenza di un valido manuale che sia altrettanto liberamente
-disponibile.
-
-E, come per il software libero, anche in questo caso è di fondamentale
-importanza la libertà di accedere ai sorgenti (e non solo al risultato finale,
-sia questo una stampa o un file formattato) e la libertà di modificarli per
-apportarvi migliorie, aggiornamenti, etc.
-
-Per questo la Free Software Foundation ha approntato una licenza apposita per
-la documentazione, che tiene conto delle differenze che restano fra un testo e
-un programma. 
-
-Esiste però un altro campo, diverso dalla documentazione e dai manuali, in cui
-avere a disposizione testi liberi, aperti e modificabili è essenziale ed
-estremamente utile: quello della didattica e dell'educazione.  E benché anche
-questo campo sia citato dalla FDL non è altrettanto comune trovarlo messo in
-pratica.
-
-In particolare sarebbe di grande interesse poter disporre di testi didattici
-in grado di crescere, essere adattati alle diverse esigenze, modificati e
-ampliati, o anche ridotti per usi specifici, nello stesso modo in cui si fa
-per il software libero.
-
-Questo progetto mira alla stesura di un libro il più completo e chiaro
-possibile sulla programmazione in un sistema basato su un kernel Linux.
-Essendo i concetti in gran parte gli stessi, il testo dovrebbe restare valido
-anche per la programmazione in ambito Unix generico, ma resta una attenzione
+Questo progetto mira alla stesura di un testo il più completo e chiaro
+possibile sulla programmazione di sistema su un kernel Linux.  Essendo i
+concetti in gran parte gli stessi, il testo dovrebbe restare valido anche per
+la programmazione in ambito si sistemi Unix generici, ma resta una attenzione
 specifica alle caratteristiche peculiari del kernel Linux e delle versioni
-delle librerie del C in uso con esso, ed in particolare per le glibc del
-progetto GNU (che ormai sono usate nella stragrande maggioranza dei casi).
-
-Nonostante l'uso nel titolo del solo ``Linux'', (che si è fatto sia per
-brevità sia perché il libro ha a che fare principalmente con le interfacce del
-kernel e dei principali standard supportati delle librerie del C), voglio
-sottolineare che trovo assolutamente scorretto chiamare in questo modo un
-sistema completo. Il kernel infatti, senza tutte le librerie e le applicazioni
-di base fornite dal progretto GNU, sarebbe sostanzialmente inutile: per questo
-il nome del sistema nella sua interezza non può che essere GNU/Linux.
+delle librerie del C in uso con esso; in particolare si darà ampio spazio alla
+versione realizzata dal progetto GNU, le cosiddette le \textit{GNU C Library}
+o \textsl{glibc}, che ormai sono usate nella stragrande maggioranza dei casi.
 
 L'obiettivo finale di questo progetto è quello di riuscire a ottenere un testo
 utilizzabile per apprendere i concetti fondamentali della programmazione di
@@ -69,14 +34,9 @@ dello specifico argomento in esame (ed in particolare lo \textit{GNU C Library
   Reference Manual} non brilla per chiarezza espositiva).
 
 Per questo motivo si è cercato di fare tesoro di quanto appreso dai testi di
-R. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la
+R. W. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la
 trattazione dei vari argomenti in una sequenza logica il più esplicativa
-possibile, corredata, quando possibile, da programmi di esempio.
-
-Il progetto prevede il rilascio del testo sotto licenza FDL, ed una modalità
-di realizzazione aperta che permetta di accogliere i contributi di chiunque
-sia interessato. Tutti i programmi di esempio sono invece rilasciati sotto GNU
-GPL.
+possibile, corredando il tutto, quando possibile, con programmi di esempio.
 
 Dato che sia il kernel che tutte le librerie fondamentali di GNU/Linux sono
 scritte in C, questo sarà il linguaggio di riferimento del testo. In
@@ -90,7 +50,12 @@ scelto di usare \LaTeX\ come "ambiente di sviluppo" del medesimo, sia per
 l'impareggiabile qualità tipografica ottenibile, che per la congruenza dello
 strumento, tanto sul piano pratico, quanto su quello filosofico.
 
-Il testo sarà, almeno inizialmente, in italiano.
+Il testo sarà, almeno inizialmente, in italiano. Per il momento lo si è
+suddiviso in due parti, la prima sulla programmazione di sistema, in cui si
+trattano le varie funzionalità disponibili per i programmi che devono essere
+eseguiti su una singola macchina, la seconda sulla programmazione di rete, in
+cui si trattano le funzionalità per eseguire programmi che mettono in
+comunicazione macchine diverse.
 
 
 
index b1199d6dc6cc72c94cdb634a4d0659441cd215bb..4b07f89b92e601cd8103f02a2ab5b7a7ec3a6d49 100644 (file)
@@ -1874,19 +1874,25 @@ pi
 dai protocolli usati dal socket sul quale si va ad agire, e saranno anche esse
 differenziate a seconda del protocollo cui fanno riferimento. 
 
-La scelta su quale opzione agire è fatta appunto con l'uso dell'argomento
-\param{level}, per esso esiste il valore speciale \const{SOL\_SOCKET} che
-indica il livello astratto di socket (cioè di opzioni disponibili in generale
-per qualunque tipo di socket), per impostare altre opzioni relative a
-funzionalità disponibili per socket che usano particolari protocolli si usa in
-genere il valore numerico degli stessi in \file{/etc/protocols},\footnote{o
-  quanto si può ottenere da una chiamata a \func{getprotoent}, questo però
-  presenta l'ambiguità dovuta al fatto che su Linux \const{SOL\_SOCKET} è
-  definito uguale ad 1, che corrisponde anche al valore di ICMP, che pertanto
-  non compare nelle varie costanti \texttt{SOL\_*}.} più comunemente però si
-utilizzano le apposite costanti \texttt{SOL\_*} riportate in
-tab.~\ref{tab:sock_option_levels} dove si sono riassunti i possibili valori
-per l'argomento \param{level}.
+
+
+
+Il valore di \param{level} seleziona allora il livello sul quale si va ad
+intervenire e permette di usare le opzioni definite su quel livello. Esiste
+poi il valore \const{SOL\_SOCKET} che indica un livello generico e cioè le
+opzioni disponibili per qualunque tipo di socket.  Per impostare le opzioni
+relative alle funzionalità disponibili per socket che usano particolari
+protocolli può utilizzare il valore numerico che identifica questi ultimi in
+\file{/etc/protocols}, ma più comunemente si suano le apposite costanti
+\texttt{SOL\_*} riportate in tab.~\ref{tab:sock_option_levels} dove si sono
+riassunti i possibili valori per l'argomento \param{level}.\footnote{la
+  notazione in questo caso è, purtroppo, abbastanza confusa: infatti in Linux
+  il valore si può impostare sia usando le costanti \texttt{SOL\_*}, che delle
+  analoghe \texttt{IPPROTO\_*} (citate anche da Stevens in \cite{UNP1}) che di
+  nuovo sono equivalenti ai numeri di protocollo di \file{/etc/protocols}; con
+  una eccesione specifica, che è quella del protocollo ICMP, per la quale non
+  esista una costante, dato poi che il suo valore, 1, è anche quello che viene
+  assegnato a \const{SOL\_SOCKET}.}
 
 \begin{table}[!htb]
   \centering