zip_fdopen |
ZIP : Ferme le fichier |
|---|---|
| libzip | |
Syntaxe
| zip_t * zip_fdopen(int fd, int flags, int *errorp); |
Retour
Une fois l'opération terminée avec succès, zip_fdopen() renvoie un pointeur struct zip et fd ne doit plus être utilisé ni transmis à close(2). Sinon, NULL est renvoyé et *errorp est défini pour indiquer l'erreur. En cas d'erreur, fd reste inchangé.
Description
Cette fonction permet d'ouvrir une archive ZIP à partir d'un descripteur de fichier existant.
Remarque
- L'archive zip spécifiée par le descripteur de fichier ouvert fd est ouverte et un pointeur vers une structure zip, utilisée pour manipuler l'archive, est renvoyé. Contrairement à zip_open(), en utilisant zip_fdopen, l'archive ne peut être ouverte qu'en mode lecture seule. Le paramètre fd ne peut plus être utilisé après l'appel de zip_fdopen. Les indicateurs sont spécifiés en utilisant un ou pour les valeurs suivantes, ou 0 pour aucune d'entre elles :
| Constante | Description |
|---|---|
| ZIP_CHECKCONS | Effectuez des contrôles de cohérence supplémentaires plus stricts sur l'archive et génèrez une erreur en cas d'échec. |
Si une erreur se produit et que errorp n'est pas NULL, il sera défini sur le code d'erreur correspondant.
Erreurs
Le fichier spécifié par fd est préparé pour être utilisé par libzip() sauf si :
| Constante | Description |
|---|---|
| ZIP_ER_INCONS | Des incohérences ont été trouvées dans le fichier spécifié par path. Cette erreur est souvent causée par la spécification de ZIP_CHECKCONS mais peut également se produire sans elle. |
| ZIP_ER_INVAL | Le paramètre flags n'est pas valide. Tous les indicateurs zip_open() ne sont pas autorisés pour zip_fdopen. |
| ZIP_ER_MEMORY | La mémoire requise n'a pas pu être allouée. |
| ZIP_ER_NOZIP | Le fichier spécifié par fd n'est pas une archive zip. |
| ZIP_ER_OPEN | Le fichier spécifié par fd n'a pas pu être préparé pour être utilisé par libzip(). |
| ZIP_ER_OPNOTSUPP | Cette fonctionnalité a été désactivée au moment de la compilation. |
| ZIP_ER_READ | Une erreur de lecture s'est produite ; voir errno pour plus de détails. |
| ZIP_ER_SEEK | Le fichier spécifié par fd n'autorise pas les recherches. |
Historique
zip_fdopen() a été ajouté dans libzip 1.0.
Voir également
libzip(), zip_close(), zip_error_strerror(), zip_open()
Dernière mise à jour : Mercredi, le 5 Février 2025