| pacutils-mtree(3) | pacutils-mtree | pacutils-mtree(3) |
الاسم
pacutils-mtree - قراءة بيانات mtree للحزم المثبتة
موجز
#include <pacutils/mtree.h>
typedef struct pu_mtree_t {
char *path;
char *type;
uid_t uid;
gid_t gid;
mode_t mode;
off_t size;
char *md5digest;
char *sha256digest;
} pu_mtree_t;
typedef struct {
FILE *stream;
int eof;
pu_mtree_t defaults;
} pu_mtree_reader_t;
pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);
pu_mtree_reader_t *pu_mtree_reader_open_package(alpm_handle_t *h, alpm_pkg_t *p);
pu_mtree_t *pu_mtree_reader_next(pu_mtree_reader_t *reader, pu_mtree_t *dest);
void pu_mtree_reader_free(pu_mtree_reader_t *reader);
void pu_mtree_free(pu_mtree_t *mtree);
/* deprecated */
alpm_list_t *pu_mtree_load_pkg_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg);
الوصف
دوال قراءة mtree للحزمة مُوفرة لسد الفجوات في قارئ mtree الخاص بـ libarchive، ولا سيما "md5digest" و "sha256digest" اللذان لا يُقرآن حاليًا بواسطة libarchive. الدعم غير كامل ويجب استخدامه فقط لتكملة قارئ mtree الأصلي لـ libalpm.
- pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);
- فتح دفق ملف للتحليل.
- pu_mtree_reader_t *pu_mtree_reader_open_package(alpm_handle_t *h, alpm_pkg_t *p);
- فتح ملف mtree لحزمة منصبة للتحليل. النتائج غير محددة إذا لم يكن "p" حزمة منصبة محليًا.
- pu_mtree_t *pu_mtree_reader_next(pu_mtree_reader_t *reader, pu_mtree_t *dest);
- قراءة وإرجاع المدخل التالي في ملف mtree. إذا كان "dest" هو "NULL"، فسيُخصص كائن "pu_mtree_t" جديد يجب تحريره بواسطة المستدعي. وإلا، فسيُملأ بالبيانات المحللة. الذاكرة المخصصة داخليًا تُحرر آليًا حسب الحاجة.
- void pu_mtree_free(pu_mtree_t *mtree);
- تحرير هيكل "pu_mtree_t".
- void pu_mtree_reader_free(pu_mtree_reader_t *reader);
- تحرير كائن "pu_mtree_reader_t".
- alpm_list_t *pu_mtree_load_pkg_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg);
- إرجاع قائمة بمدخلات mtree لـ "pkg". مهمل: استخدم "pu_mtree_reader_open_package" بدلاً من ذلك.
أمثلة
- طباعة مجاميع md5 للملفات لحزمة:
-
pu_mtree_t *m; pu_mtree_reader_t *r; if((r = pu_mtree_reader_open_package(handle, pkg)) == NULL) { fprintf(stderr, "error: unable to load mtree data for '%s'\n", alpm_pkg_get_name(pkg)); return; } while((m = pu_mtree_reader_next(r, NULL))) { const char *md5 = m->md5digest; printf("%s: %s\n", m->path, md5 && md5[0] != '\0' ? md5 : "(no md5sum provided)"); pu_mtree_free(m); } if(!reader->eof) { fprintf(stderr, "error: unable to read mtree data for '%s'\n", alpm_pkg_get_name(pkg)); } pu_mtree_reader_free(r);
انظر أيضًا
- alpm_pkg_mtree_open(3), alpm_pkg_mtree_next(3), alpm_pkg_mtree_close(3)
- mtree(5) - description of "pu_mtree_t" members
ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 4 ديسمبر 2025 | pacutils |