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 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.