.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2002, Walter Harms .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fmtmsg 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم fmtmsg \- طباعة رسائل خطأ منسقة .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint fmtmsg(long \fP\fIclassification\fP\fB, const char *\fP\fIlabel\fP\fB,\fP \fB int \fP\fIseverity\fP\fB, const char *\fP\fItext\fP\fB,\fP \fB const char *\fP\fIaction\fP\fB, const char *\fP\fItag\fP\fB);\fP .fi .SH الوصف تعرض هذه الدالة رسالة موصوفة بوسائطها على الجهاز (الأجهزة) المحدد في وسيط \fIclassification\fP. بالنسبة للرسائل المكتوبة إلى \fIstderr\fP، يعتمد التنسيق على متغير البيئة \fBMSGVERB\fP. .P يحدد وسيط \fIlabel\fP مصدر الرسالة. يجب أن تتكون سلسلة المحارف من جزأين مفصولين بنقطتين حيث لا يزيد الجزء الأول عن 10 أحرف والجزء الثاني عن 14 حرفًا. .P يصف وسيط \fItext\fP حالة الخطأ. .P يصف وسيط \fIaction\fP الخطوات الممكنة للتعافي من الخطأ. إذا طُبع، يُسبق بـ "TO FIX: ". .P وسيط \fItag\fP هو مرجع للتوثيق عبر الإنترنت حيث يمكن العثور على مزيد من المعلومات. يجب أن يحتوي على قيمة \fIlabel\fP ورقم تعريف فريد. .SS "وسائط وهمية" يمكن أن يكون لكل وسيط قيمة وهمية. قيمة التصنيف الوهمية \fBMM_NULLMC\fP (0L) لا تحدد أي مخرجات، لذا لا يُطبع شيء. قيمة الشدة الوهمية \fBNO_SEV\fP (0) تشير إلى عدم توفير شدة. القيم \fBMM_NULLLBL\fP و \fBMM_NULLTXT\fP و \fBMM_NULLACT\fP و \fBMM_NULLTAG\fP هي مرادفات لـ \fI((char\ *)\ 0)\fP، السلسلة الفارغة، و \fBMM_NULLSEV\fP هي مرادف لـ \fBNO_SEV\fP. .SS "وسيط التصنيف" وسيط \fIclassification\fP هو مجموع القيم التي تصف 4 أنواع من المعلومات. .P تحدد القيمة الأولى قناة الإخراج. .TP 12n \fBMM_PRINT\fP الإخراج إلى \fIstderr\fP. .TP \fBMM_CONSOLE\fP الإخراج إلى وحدة التحكم في النظام. .TP \fBMM_PRINT | MM_CONSOLE\fP الإخراج إلى كليهما. .P القيمة الثانية هي مصدر الخطأ: .TP 12n \fBMM_HARD\fP حدث خطأ في العتاد. .TP \fBMM_FIRM\fP حدث خطأ في البرامج الثابتة. .TP \fBMM_SOFT\fP حدث خطأ في البرمجيات. .P يُرمّز القيمة الثالثة كاشف المشكلة: .TP 12n \fBMM_APPL\fP يُكتشف بواسطة تطبيق. .TP \fBMM_UTIL\fP يُكتشف بواسطة أداة مساعدة. .TP \fBMM_OPSYS\fP يُكتشف بواسطة نظام التشغيل. .P يُظهر القيمة الرابعة شدة الحادثة: .TP 12n \fBMM_RECOVER\fP إنه خطأ قابل للاسترداد. .TP \fBMM_NRECOV\fP إنه خطأ غير قابل للاسترداد. .SS "وسيطة الشدة" يمكن لوسيطة \fIseverity\fP أن تأخذ إحدى القيم التالية: .TP 12n \fBMM_NOSEV\fP لا تُطبع أي شدة. .TP \fBMM_HALT\fP تُطبع هذه القيمة كـ HALT. .TP \fBMM_ERROR\fP تُطبع هذه القيمة كـ ERROR. .TP \fBMM_WARNING\fP تُطبع هذه القيمة كـ WARNING. .TP \fBMM_INFO\fP تُطبع هذه القيمة كـ INFO. .P القيم الرقمية بين 0 و4. باستخدام \fBaddseverity\fP(3) أو متغير البيئة \fBSEV_LEVEL\fP يمكنك إضافة مستويات وسلاسل محارف إضافية للطباعة. .SH "قيمة الإرجاع" يمكن للدالة أن تُرجع 4 قيم: .TP 12n \fBMM_OK\fP سار كل شيء بسلاسة. .TP \fBMM_NOTOK\fP فشل كامل. .TP \fBMM_NOMSG\fP خطأ في الكتابة إلى \fIstderr\fP. .TP \fBMM_NOCON\fP خطأ في الكتابة إلى وحدة التحكم. .SH البيئة يمكن استخدام متغير البيئة \fBMSGVERB\fP ("إسهاب الرسالة") لكبت أجزاء من المخرجات إلى \fIstderr\fP. (لا يؤثر على المخرجات إلى وحدة التحكم.) عندما يُعرّف هذا المتغير، ويكون غير NULL، ويكون قائمة مفصولة بنقطتين من الكلمات المفتاحية الصالحة، فعندها تُطبع فقط أجزاء الرسالة المطابقة لهذه الكلمات المفتاحية. الكلمات المفتاحية الصالحة هي "label" و"severity" و"text" و"action" و"tag". .P يمكن استخدام متغير البيئة \fBSEV_LEVEL\fP لإدخال مستويات شدة جديدة. مبدئيًا، تتوفر فقط مستويات الشدة الخمسة الموصوفة أعلاه. أي قيمة عددية أخرى ستجعل \fBfmtmsg\fP() لا يطبع شيئًا. إذا وضع المستخدم \fBSEV_LEVEL\fP بتنسيق مثل .P .RS SEV_LEVEL=[وصف[:وصف[:...]]] .RE .P في بيئة العملية قبل أول استدعاء لـ \fBfmtmsg\fP()، حيث يكون كل وصف بالشكل .P .RS كلمة\-شدة،مستوى،سلسلة\-طباعة .RE .P عندها سيقبل \fBfmtmsg\fP() أيضًا القيم المشار إليها للمستوى (بالإضافة إلى المستويات القياسية 0\[en]4)، وسيستخدم سلسلة الطباعة المشار إليها عند حدوث مثل هذا المستوى. .P الجزء الخاص بكلمة الشدة لا يُستخدم بواسطة \fBfmtmsg\fP() لكن يجب أن يكون موجودًا. جزء المستوى هو تمثيل سلسلة محارف لرقم. يجب أن تكون القيمة العددية رقمًا أكبر من 4. يجب استخدام هذه القيمة في وسيط الشدة لـ \fBfmtmsg\fP() لاختيار هذه الفئة. لا يمكن الكتابة فوق أي من الفئات المحددة مسبقًا. سلسلة الطباعة هي السلسلة المطبوعة عند معالجة رسالة من هذه الفئة بواسطة \fBfmtmsg\fP(). .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. الواجهة السمة القيمة T{ .na .nh \fBfmtmsg\fP() T} سلامة الخيوط T{ .na .nh glibc\ >=\ 2.16: MT\-Safe; glibc\ <\ 2.16: MT\-Unsafe T} .TE .P قبل glibc 2.16، تستخدم دالة \fBfmtmsg\fP() متغيرًا ثابتًا غير محمي، لذا فهي غير آمنة متعددة الخيوط. .P .\" Modified in commit 7724defcf8873116fe4efab256596861eef21a94 منذ glibc 2.16، تستخدم دالة \fBfmtmsg\fP() قفلًا لحماية المتغير الثابت، لذا فهي آمنة متعددة الخيوط. .SH المعايير .TP \fBfmtmsg\fP() .TQ \fBMSGVERB\fP POSIX.1\-2008. .SH التاريخ .TP \fBfmtmsg\fP() System V. POSIX.1\-2001 و POSIX.1\-2008. glibc 2.1. .TP \fBMSGVERB\fP System V. POSIX.1\-2001 و POSIX.1\-2008. .TP \fBSEV_LEVEL\fP System V. .P تخبرنا صفحات دليل System V و UnixWare أن هذه الدوال قد استُبدلت بـ "pfmt() و addsev()" أو بـ "pfmt()، vpfmt()، lfmt()، و vlfmt()"، وسيتم إزالتها لاحقًا. .SH أمثلة .\" SRC BEGIN (fmtmsg.c) .EX #include #include #include \& int main(void) { long c = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER; int err; \& err = fmtmsg(c, "util\-linux:mount", MM_ERROR, "unknown mount option", "See mount(8).", "util\-linux:mount:017"); switch (err) { case MM_OK: break; case MM_NOTOK: printf("Nothing printed\[rs]n"); break; case MM_NOMSG: printf("Nothing printed to stderr\[rs]n"); break; case MM_NOCON: printf("No console output\[rs]n"); break; default: printf("Unknown error from fmtmsg()\[rs]n"); } exit(EXIT_SUCCESS); } .EE .\" SRC END .P يجب أن يكون المخرج: .P .in +4n .EX util\-linux:mount: ERROR: unknown mount option TO FIX: See mount(8). util\-linux:mount:017 .EE .in .P وبعد .P .in +4n .EX MSGVERB=text:action; export MSGVERB .EE .in .P يصبح المخرج: .P .in +4n .EX unknown mount option TO FIX: See mount(8). .EE .in .SH "انظر أيضًا" \fBaddseverity\fP(3), \fBperror\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .