xref: /openbmc/linux/Documentation/translations/it_IT/doc-guide/parse-headers.rst (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
137912da4SFederico Vaga.. include:: ../disclaimer-ita.rst
237912da4SFederico Vaga
3*1d6f52a7SFederico Vaga:Original: Documentation/doc-guide/index.rst
437912da4SFederico Vaga
537912da4SFederico Vaga=========================================
637912da4SFederico VagaIncludere gli i file di intestazione uAPI
737912da4SFederico Vaga=========================================
837912da4SFederico Vaga
937912da4SFederico VagaQualche volta è utile includere dei file di intestazione e degli esempi di codice C
1037912da4SFederico Vagaal fine di descrivere l'API per lo spazio utente e per generare dei riferimenti
1137912da4SFederico Vagafra il codice e la documentazione. Aggiungere i riferimenti ai file dell'API
1237912da4SFederico Vagadello spazio utente ha ulteriori vantaggi: Sphinx genererà dei messaggi
1337912da4SFederico Vagad'avviso se un simbolo non viene trovato nella documentazione. Questo permette
1437912da4SFederico Vagadi mantenere allineate la documentazione della uAPI (API spazio utente)
1537912da4SFederico Vagacon le modifiche del kernel.
1637912da4SFederico VagaIl programma :ref:`parse_headers.pl <it_parse_headers>` genera questi riferimenti.
1737912da4SFederico VagaEsso dev'essere invocato attraverso un Makefile, mentre si genera la
1837912da4SFederico Vagadocumentazione. Per avere un esempio su come utilizzarlo all'interno del kernel
1954f38fcaSMauro Carvalho Chehabconsultate ``Documentation/userspace-api/media/Makefile``.
2037912da4SFederico Vaga
2137912da4SFederico Vaga.. _it_parse_headers:
2237912da4SFederico Vaga
2337912da4SFederico Vagaparse_headers.pl
2437912da4SFederico Vaga^^^^^^^^^^^^^^^^
2537912da4SFederico Vaga
2637912da4SFederico VagaNOME
2737912da4SFederico Vaga****
2837912da4SFederico Vaga
2937912da4SFederico Vaga
3037912da4SFederico Vagaparse_headers.pl - analizza i file C al fine di identificare funzioni,
3137912da4SFederico Vagastrutture, enumerati e definizioni, e creare riferimenti per Sphinx
3237912da4SFederico Vaga
3337912da4SFederico VagaSINTASSI
3437912da4SFederico Vaga********
3537912da4SFederico Vaga
3637912da4SFederico Vaga
3737912da4SFederico Vaga\ **parse_headers.pl**\  [<options>] <C_FILE> <OUT_FILE> [<EXCEPTIONS_FILE>]
3837912da4SFederico Vaga
3937912da4SFederico VagaDove <options> può essere: --debug, --usage o --help.
4037912da4SFederico Vaga
4137912da4SFederico Vaga
4237912da4SFederico VagaOPZIONI
4337912da4SFederico Vaga*******
4437912da4SFederico Vaga
4537912da4SFederico Vaga
4637912da4SFederico Vaga
4737912da4SFederico Vaga\ **--debug**\
4837912da4SFederico Vaga
4937912da4SFederico Vaga Lo script viene messo in modalità verbosa, utile per il debugging.
5037912da4SFederico Vaga
5137912da4SFederico Vaga
5237912da4SFederico Vaga\ **--usage**\
5337912da4SFederico Vaga
5437912da4SFederico Vaga Mostra un messaggio d'aiuto breve e termina.
5537912da4SFederico Vaga
5637912da4SFederico Vaga
5737912da4SFederico Vaga\ **--help**\
5837912da4SFederico Vaga
5937912da4SFederico Vaga Mostra un messaggio d'aiuto dettagliato e termina.
6037912da4SFederico Vaga
6137912da4SFederico Vaga
6237912da4SFederico VagaDESCRIZIONE
6337912da4SFederico Vaga***********
6437912da4SFederico Vaga
6537912da4SFederico VagaConverte un file d'intestazione o un file sorgente C (C_FILE) in un testo
6637912da4SFederico VagaReStructuredText incluso mediante il blocco ..parsed-literal
6737912da4SFederico Vagacon riferimenti alla documentazione che descrive l'API. Opzionalmente,
6837912da4SFederico Vagail programma accetta anche un altro file (EXCEPTIONS_FILE) che
6937912da4SFederico Vagadescrive quali elementi debbano essere ignorati o il cui riferimento
7037912da4SFederico Vagadeve puntare ad elemento diverso dal predefinito.
7137912da4SFederico Vaga
7237912da4SFederico VagaIl file generato sarà disponibile in (OUT_FILE).
7337912da4SFederico Vaga
7437912da4SFederico VagaIl programma è capace di identificare *define*, funzioni, strutture,
7537912da4SFederico Vagatipi di dato, enumerati e valori di enumerati, e di creare i riferimenti
7637912da4SFederico Vagaper ognuno di loro. Inoltre, esso è capace di distinguere le #define
7737912da4SFederico Vagautilizzate per specificare i comandi ioctl di Linux.
7837912da4SFederico Vaga
7937912da4SFederico VagaIl file EXCEPTIONS_FILE contiene due tipi di dichiarazioni:
8037912da4SFederico Vaga\ **ignore**\  o \ **replace**\ .
8137912da4SFederico Vaga
8237912da4SFederico VagaLa sintassi per ignore è:
8337912da4SFederico Vaga
8437912da4SFederico Vagaignore \ **tipo**\  \ **nome**\
8537912da4SFederico Vaga
8637912da4SFederico VagaLa dichiarazione \ **ignore**\  significa che non verrà generato alcun
8737912da4SFederico Vagariferimento per il simbolo \ **name**\  di tipo \ **tipo**\ .
8837912da4SFederico Vaga
8937912da4SFederico Vaga
9037912da4SFederico VagaLa sintassi per replace è:
9137912da4SFederico Vaga
9237912da4SFederico Vagareplace \ **tipo**\  \ **nome**\  \ **nuovo_valore**\
9337912da4SFederico Vaga
9437912da4SFederico VagaLa dichiarazione \ **replace**\  significa che verrà generato un
9537912da4SFederico Vagariferimento per il simbolo \ **name**\ di tipo \ **tipo**\ , ma, invece
9637912da4SFederico Vagadi utilizzare il valore predefinito, verrà utilizzato il valore
9737912da4SFederico Vaga\ **nuovo_valore**\ .
9837912da4SFederico Vaga
9937912da4SFederico VagaPer entrambe le dichiarazioni, il \ **tipo**\  può essere uno dei seguenti:
10037912da4SFederico Vaga
10137912da4SFederico Vaga
10237912da4SFederico Vaga\ **ioctl**\
10337912da4SFederico Vaga
10437912da4SFederico Vaga La dichiarazione ignore o replace verrà applicata su definizioni di ioctl
10537912da4SFederico Vaga come la seguente:
10637912da4SFederico Vaga
10737912da4SFederico Vaga #define	VIDIOC_DBG_S_REGISTER 	 _IOW('V', 79, struct v4l2_dbg_register)
10837912da4SFederico Vaga
10937912da4SFederico Vaga
11037912da4SFederico Vaga
11137912da4SFederico Vaga\ **define**\
11237912da4SFederico Vaga
11337912da4SFederico Vaga La dichiarazione ignore o replace verrà applicata su una qualsiasi #define
11437912da4SFederico Vaga trovata in C_FILE.
11537912da4SFederico Vaga
11637912da4SFederico Vaga
11737912da4SFederico Vaga
11837912da4SFederico Vaga\ **typedef**\
11937912da4SFederico Vaga
12037912da4SFederico Vaga La dichiarazione ignore o replace verrà applicata ad una dichiarazione typedef
12137912da4SFederico Vaga in C_FILE.
12237912da4SFederico Vaga
12337912da4SFederico Vaga
12437912da4SFederico Vaga
12537912da4SFederico Vaga\ **struct**\
12637912da4SFederico Vaga
12737912da4SFederico Vaga La dichiarazione ignore o replace verrà applicata ai nomi di strutture
12837912da4SFederico Vaga in C_FILE.
12937912da4SFederico Vaga
13037912da4SFederico Vaga
13137912da4SFederico Vaga
13237912da4SFederico Vaga\ **enum**\
13337912da4SFederico Vaga
13437912da4SFederico Vaga La dichiarazione ignore o replace verrà applicata ai nomi di enumerati
13537912da4SFederico Vaga in C_FILE.
13637912da4SFederico Vaga
13737912da4SFederico Vaga
13837912da4SFederico Vaga
13937912da4SFederico Vaga\ **symbol**\
14037912da4SFederico Vaga
14137912da4SFederico Vaga La dichiarazione ignore o replace verrà applicata ai nomi di valori di
14237912da4SFederico Vaga enumerati in C_FILE.
14337912da4SFederico Vaga
14437912da4SFederico Vaga Per le dichiarazioni di tipo replace, il campo \ **new_value**\  utilizzerà
14537912da4SFederico Vaga automaticamente i riferimenti :c:type: per \ **typedef**\ , \ **enum**\  e
14637912da4SFederico Vaga \ **struct**\. Invece, utilizzerà :ref: per \ **ioctl**\ , \ **define**\  e
14737912da4SFederico Vaga \ **symbol**\. Il tipo di riferimento può essere definito esplicitamente
14837912da4SFederico Vaga nella dichiarazione stessa.
14937912da4SFederico Vaga
15037912da4SFederico Vaga
15137912da4SFederico VagaESEMPI
15237912da4SFederico Vaga******
15337912da4SFederico Vaga
15437912da4SFederico Vaga
15537912da4SFederico Vagaignore define _VIDEODEV2_H
15637912da4SFederico Vaga
15737912da4SFederico Vaga
15837912da4SFederico VagaIgnora una definizione #define _VIDEODEV2_H nel file C_FILE.
15937912da4SFederico Vaga
16037912da4SFederico Vagaignore symbol PRIVATE
16137912da4SFederico Vaga
16237912da4SFederico Vaga
16337912da4SFederico VagaIn un enumerato come il seguente:
16437912da4SFederico Vaga
16537912da4SFederico Vagaenum foo { BAR1, BAR2, PRIVATE };
16637912da4SFederico Vaga
16737912da4SFederico VagaNon genererà alcun riferimento per \ **PRIVATE**\ .
16837912da4SFederico Vaga
16937912da4SFederico Vagareplace symbol BAR1 :c:type:\`foo\`
17037912da4SFederico Vagareplace symbol BAR2 :c:type:\`foo\`
17137912da4SFederico Vaga
17237912da4SFederico Vaga
17337912da4SFederico VagaIn un enumerato come il seguente:
17437912da4SFederico Vaga
17537912da4SFederico Vagaenum foo { BAR1, BAR2, PRIVATE };
17637912da4SFederico Vaga
17737912da4SFederico VagaGenererà un riferimento ai valori BAR1 e BAR2 dal simbolo foo nel dominio C.
17837912da4SFederico Vaga
17937912da4SFederico Vaga
18037912da4SFederico VagaBUGS
18137912da4SFederico Vaga****
18237912da4SFederico Vaga
18337912da4SFederico VagaRiferire ogni malfunzionamento a Mauro Carvalho Chehab <mchehab@s-opensource.com>
18437912da4SFederico Vaga
18537912da4SFederico Vaga
18637912da4SFederico VagaCOPYRIGHT
18737912da4SFederico Vaga*********
18837912da4SFederico Vaga
18937912da4SFederico Vaga
19037912da4SFederico VagaCopyright (c) 2016 by Mauro Carvalho Chehab <mchehab@s-opensource.com>.
19137912da4SFederico Vaga
192*1d6f52a7SFederico VagaLicenza GPLv2: GNU GPL version 2 <https://gnu.org/licenses/gpl.html>.
19337912da4SFederico Vaga
19437912da4SFederico VagaQuesto è software libero: siete liberi di cambiarlo e ridistribuirlo.
19537912da4SFederico VagaNon c'è alcuna garanzia, nei limiti permessi dalla legge.
196