From 7a51b7bb2f39f6a4c5ad3f1dfcf6eda60d7eec38 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Fri, 6 Mar 2015 10:50:10 +0000 Subject: [PATCH] Nuovi TODO e aggiunta dei alcune macro. --- fileadv.tex | 3 ++- fileio.tex | 2 ++ intro.tex | 23 +++++++++++++++++++++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/fileadv.tex b/fileadv.tex index 38da0ec..0ef7c30 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -5640,7 +5640,8 @@ livello di kernel. % http://kernelnewbies.org/Linux_2_6_23 % TODO aggiungere FALLOC_FL_ZERO_RANGE e FALLOC_FL_COLLAPSE_RANGE, inseriti -% nel kenrel 3.15 (sul secondo vedi http://lwn.net/Articles/589260/) +% nel kernel 3.15 (sul secondo vedi http://lwn.net/Articles/589260/), vedi +% anche http://lwn.net/Articles/629965/ % TODO non so dove trattarli, ma dal 2.6.39 ci sono i file handle, vedi % http://lwn.net/Articles/432757/ diff --git a/fileio.tex b/fileio.tex index 06aee5d..12447ee 100644 --- a/fileio.tex +++ b/fileio.tex @@ -1876,6 +1876,8 @@ precisione fino al nanosecondo. % inserita nello stesso standard e da usare con openat, vedi % http://pubs.opengroup.org/onlinepubs/9699939699/toc.pdf +% TODO: manca prototipo e motivazione di execveat, vedi +% http://man7.org/linux/man-pages/man2/execveat.2.html \subsection{Le operazioni di controllo} \label{sec:file_fcntl_ioctl} diff --git a/intro.tex b/intro.tex index bf2429d..dbf3732 100644 --- a/intro.tex +++ b/intro.tex @@ -1275,12 +1275,25 @@ in essi definite, sono illustrate nel seguente elenco: \macro{\_GNU\_SOURCE}) è stata a sua volta attivata, nel qual caso queste hanno la precedenza. Se però si definisce \macro{\_BSD\_SOURCE} dopo aver definito una di queste macro, l'effetto sarà quello di dare la precedenza - alle funzioni in forma BSD. + alle funzioni in forma BSD. Questa macro è stata deprecata a partire dalle + \acr{glibc} 2.20, essendo ricompresa in \macro{\_DEFAULT\_SOURCE} che è + definita di default. \item[\macro{\_SVID\_SOURCE}] definendo questa macro si rendono disponibili le funzionalità derivate da SVID. Esse comprendono anche quelle definite negli standard ISO C, POSIX.1, POSIX.2, e X/Open (XPG$n$) illustrati in - precedenza. + precedenza. Questa macro è stata deprecata a partire dalle \acr{glibc} 2.20, + essendo ricompresa in \macro{\_DEFAULT\_SOURCE} che è definita di default. + +\item[\macro{\_DEFAULT\_SOURCE}] questa macro abilita le definizioni + considerate il \textit{default}, comprese quelle richieste dalla standard + POSIX.1-2008, ed è sostanzialente equivalente a \macro{\_SVID\_SOURCE} + \macro{\_BSD\_SOURCE}] e \macro{\_POSIX\_C\_SOURCE}. Essendo predefinita non + è necessario usarla a meno di non aver richiesto delle definizioni più + restrittive sia con altre macro che con i flag del compilatore, nel qual + caso abilita le funzioni che altrimenti sarebbero disabilitate. Questa macro + è stata introdotta a partire dalle \acr{glibc} 2.19 e consente di deprecare + \macro{\_SVID\_SOURCE} e \macro{\_BSD\_SOURCE}]. \item[\macro{\_XOPEN\_SOURCE}] definendo questa macro si rendono disponibili le funzionalità descritte nella \textit{X/Open Portability Guide}. Anche @@ -1323,6 +1336,12 @@ in essi definite, sono illustrate nel seguente elenco: viene tuttora riconosciuta come equivalente di \macro{\_ISOC99\_SOURCE} per compatibilità. +\item[\macro{\_ISOC11\_SOURCE}] definendo questa macro si rendono disponibili + le funzionalità previste per la revisione delle librerie standard del C + introdotte con lo standard ISO C11, e abilita anche quelle previste dagli + standard C99 e C95. La macro è definita a partire dalla versione 2.16 della + \acr{glibc}. + \item[\macro{\_GNU\_SOURCE}] definendo questa macro si rendono disponibili tutte le funzionalità disponibili nei vari standard oltre a varie estensioni specifiche presenti solo nella \acr{glibc} ed in Linux. Gli standard coperti -- 2.30.2