fmtmsg

Autres langues

Langue: ja

Version: 2003-11-01 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

fmtmsg - À°·Á¤µ¤ì¤¿¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë

½ñ¼°


#include <fmtmsg.h>



int fmtmsg(long classification, const char *label,


int severity, const char *text,
const char *action, const char *tag);

ÀâÌÀ

¤³¤Î´Ø¿ô¤Ï¡¢°ú¤­¿ô¤Çµ­½Ò¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ò¡¢ classification °ú¤­¿ô¤Ç»ØÄꤵ¤ì¤¿¥Ç¥Ð¥¤¥¹¾å¤Ëɽ¼¨¤¹¤ë¡£ stderr ¤Ë½ñ¤­½Ð¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢ MSGVERB ´Ä¶­ÊÑ¿ô¤Ë°Í¸¤¹¤ë¡£

label °ú¤­¿ô¤Ï¥á¥Ã¥»¡¼¥¸¤ÎȯÀ¸¸»¤ò¼±Ê̤¹¤ë¡£ ¤³¤Îʸ»úÎó¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿ 2 ¤Ä¤ÎÉôʬ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ 1 ¤ÄÌܤÎÉôʬ¤Ï 10 ʸ»ú°ÊÆâ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ 2 ¤ÄÌܤÎÉôʬ¤Ï 14 ʸ»ú°ÊÆâ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

text °ú¤­¿ô¤Ë¤Ï¥¨¥é¡¼¾ò·ï¤òµ­½Ò¤¹¤ë¡£

action °ú¤­¿ô¤Ë¤Ï¥¨¥é¡¼¤«¤é²óÉü¤¹¤ë¤¿¤á¤ËÍøÍѲÄǽ¤Ê¥¹¥Æ¥Ã¥×¤òµ­½Ò¤¹¤ë¡£ ¤³¤ì¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¡¢"TO FIX: " ¤¬Á°¤ËÉÕ¤¯¡£

tag °ú¤­¿ô¤Ï¤è¤ê¿¤¯¤Î¾ðÊó¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î¥ª¥ó¥é¥¤¥ó¥É¥­¥å¥á¥ó¥È¤Ø¤Î»²¾È¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï label Ãͤȥæ¥Ë¡¼¥¯¤Ê¼±ÊÌÈÖ¹æ¤ò´Þ¤ó¤Ç¤¤¤ë¤Ù¤­¤Ç¤¢¤ë¡£

¥À¥ß¡¼°ú¤­¿ô

³Æ°ú¤­¿ô¤Ë¤Ï¥À¥ß¡¼¤ÎÃͤòÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¥À¥ß¡¼¤Î classification ÃÍ MM_NULLMC (0L) ¤Ï½ÐÎϤò²¿¤â»ØÄꤷ¤Ê¤¤¡£¤½¤Î¤¿¤á²¿¤âɽ¼¨¤µ¤ì¤Ê¤¤¡£ ¥À¥ß¡¼¤Î severity ÃÍ NO_SEV (0) ¤Ï½ÅÂçÅÙ (severity) ¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤òɽ¤¹¡£ ÃÍ MM_NULLLBL, MM_NULLTXT, MM_NULLACT, MM_NULLTAG ¤Ï ((char *) 0) ¤È¶õʸ»úÎó¤ÎÊÌ̾¤Ç¤¢¤ê¡¢ MM_NULLSEV ¤Ï NO_SEV ¤ÎÊÌ̾¤Ç¤¢¤ë¡£

classification °ú¤­¿ô

classification °ú¤­¿ô¤Ï 4 ¼ïÎà¤Î¾ðÊó¤òµ­½Ò¤¹¤ëÃͤÎϤǤ¢¤ë¡£

ºÇ½é¤ÎÃͤϽÐÎÏ¥Á¥ã¥ó¥Í¥ë¤òÄêµÁ¤¹¤ë¡£

MM_PRINT
stderr ¤Ë½ÐÎϤ¹¤ë¡£
MM_CONSOLE
¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤ¹¤ë¡£
MM_PRINT | MM_CONSOLE
ξÊý¤Ë½ÐÎϤ¹¤ë¡£

2 ÈÖÌܤÎÃͤϥ¨¥é¡¼¤ÎȯÀ¸¸»¤Ç¤¢¤ë:

MM_HARD
¥Ï¡¼¥É¥¦¥§¥¢¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¡£
MM_FIRM
¥Õ¥¡¡¼¥à¥¦¥§¥¢¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¡£
MM_SOFT
¥½¥Õ¥È¥¦¥§¥¢¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¡£

3 ÈÖÌܤÎÃͤÏÌäÂê¤Î¸¡ÃΤò¹Ô¤Ã¤¿¤â¤Î¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë:

MM_APPL
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¸¡ÃΤµ¤ì¤¿¡£
MM_UTIL
¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ë¤è¤Ã¤Æ¸¡ÃΤµ¤ì¤¿¡£
MM_OPSYS
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¸¡ÃΤµ¤ì¤¿¡£

4 ÈÖÌܤÎÃͤÏÌäÂê¤Î½ÅÂçÅÙ¤òɽ¤¹:

MM_RECOVER
²óÉü²Äǽ¤Ê¥¨¥é¡¼¤Ç¤¢¤ë¡£
MM_NRECOV
²óÉüÉÔ²Äǽ¤Ê¥¨¥é¡¼¤Ç¤¢¤ë¡£

severity °ú¤­¿ô

severity °ú¤­¿ô¤Ï°Ê²¼¤Î 1 ¤Ä¤ÎÃͤò¤È¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
MM_NOSEV
½ÅÂçÅÙ¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡£
MM_HALT
¤³¤ÎÃÍ¤Ï HALT ¤È¤·¤Æɽ¼¨¤µ¤ì¤ë¡£
MM_ERROR
¤³¤ÎÃÍ¤Ï ERROR ¤È¤·¤Æɽ¼¨¤µ¤ì¤ë¡£
MM_WARNING
¤³¤ÎÃÍ¤Ï WARNING ¤È¤·¤Æɽ¼¨¤µ¤ì¤ë¡£
MM_INFO
¤³¤ÎÃÍ¤Ï INFO ¤È¤·¤Æɽ¼¨¤µ¤ì¤ë¡£

¿ôÃͤξì¹ç¤Ï 0 ¤«¤é 4 ¤Ç¤¢¤ë¡£ addseverity(3) ¤Þ¤¿¤Ï´Ä¶­ÊÑ¿ô SEV_LEVEL ¤ò»È¤¦¤³¤È¤Ë¤è¤ê¡¢É½¼¨¤¹¤ë¥ì¥Ù¥ë¤Èʸ»úÎó¤ò¹¹¤ËÄɲäǤ­¤ë¡£

ÊÖ¤êÃÍ

´Ø¿ô¤Ï 4 ¤Ä¤ÎÃͤòÊÖ¤¹:
MM_OK
Á´¤Æ¤¬¤¦¤Þ¤¯¤¤¤Ã¤¿¡£
MM_NOTOK
´°Á´¤Ë¼ºÇÔ¤·¤¿¡£
MM_NOMSG
stderr ¤Ë½ñ¤­¹þ¤à¤È¤­¤Ë¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¡£
MM_NOCON
¥³¥ó¥½¡¼¥ë¤Ë½ñ¤­¹þ¤à¤È¤­¤Ë¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¡£

´Ä¶­ÊÑ¿ô

´Ä¶­ÊÑ¿ô MSGVERB ("message verbosity") ¤Ï stderr ¤Ø¤Î½ÐÎϤΰìÉô¤òÍÞÀ©¤¹¤ë¤Î¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£ (¥³¥ó¥½¡¼¥ë¤Ø¤Î½ÐÎϤˤϱƶÁ¤·¤Ê¤¤¡£) ¤³¤ÎÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¡¢NULL ¤Ç¤Ê¤¯¡¢ ¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿Í­¸ú¤Ê¥­¡¼¥ï¡¼¥É¤Î¥ê¥¹¥È¤Ç¤¢¤ë¾ì¹ç¡¢ ¥­¡¼¥ï¡¼¥É¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¤Î°ìÉô¤Î¤ß¤¬É½¼¨¤µ¤ì¤ë¡£ Í­¸ú¤Ê¥­¡¼¥ï¡¼¥É¤Ï "label", "severity", "text", "action", "tag" ¤Ç¤¢¤ë¡£

´Ä¶­ÊÑ¿ô SEV_LEVEL ¤Ï¿·¤·¤¤½ÅÂçÅÙ¥ì¥Ù¥ë¤òƳÆþ¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾åµ­¤Î 5 ¤Ä¤Î½ÅÂçÅÙ¥ì¥Ù¥ë¤Î¤ß¤¬ÍøÍѲÄǽ¤Ç¤¢¤ë¡£ ¾¤Î¿ôÃͤξì¹ç¡¢ fmtmsg() ¤Ï²¿¤âɽ¼¨¤·¤Ê¤¤¡£ fmtmsg() ¤ò½é¤á¤Æ¸Æ¤Ó½Ð¤¹Á°¤Ë¡¢¥æ¡¼¥¶¤¬ SEV_LEVEL ¤ò

SEV_LEVEL=[description[:description[:...]]]

¤Î¤è¤¦¤Ê·Á¼°¤Ç¥×¥í¥»¥¹¤Î´Ä¶­¤ËÀßÄꤹ¤ë¤È¡¢ fmtmsg() ¤Ï (ɸ½à¤Î¥ì¥Ù¥ë 0-4 ¤Ë²Ã¤¨¤Æ) level ¤Ë»ØÄꤵ¤ì¤¿Ãͤâ¼õ¤±ÉÕ¤±¡¢ ¤½¤Î¤è¤¦¤Ê¥ì¥Ù¥ë¤ÎÌäÂ꤬ȯÀ¸¤¹¤ë¤È»ØÄꤵ¤ì¤¿ printstring ¤òɽ¼¨¤¹¤ë¡£ ³Æ description ¤Ï

severity-keyword,level,printstring

¤È¤¤¤¦·Á¼°¤Ç¤¢¤ë¡£

severity-keyword Éô¤Ï fmtmsg() ¤Ë»ÈÍѤµ¤ì¤Ê¤¤¤¬¡¢Â¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ level Éô¤Ï¿ôÃͤòʸ»úÎó¤Çɽ¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ ¿ôÃÍ¤Ï 4 ¤è¤êÂ礭¤¤ÃͤǤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤³¤ÎÃÍ¤Ï fmtmsg() ¤Î severity °ú¤­¿ô¤Ç»ÈÍѤµ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤³¤Î½ÅÂçÅÙ¤òÁªÂò¤¹¤ë¡£ Á°¤â¤Ã¤ÆÀë¸À¤µ¤ì¤¿½ÅÂçÅÙ¤ò¾å½ñ¤­¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ printstring ¤Ï¡¢ ¤³¤Î½ÅÂçÅ٤Υá¥Ã¥»¡¼¥¸¤¬ fmtmsg() ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¾ì¹ç¤Ëɽ¼¨¤µ¤ì¤ëʸ»úÎó¤Ç¤¢¤ë¡£

½àµò

´Ø¿ô fmtmsg() ¤È addseverity(3) ¤È´Ä¶­ÊÑ¿ô MSGVERB ¤È SEV_LEVEL ¤Ï System V ¤ËͳÍ褷¤Æ¤¤¤ë¡£ ´Ø¿ô fmtmsg() ¤È´Ä¶­ÊÑ¿ô MSGVERB ¤Ï POSIX.1-2001 ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£

Ãí°Õ

System V ¤È Unixware ¤Î man ¥Ú¡¼¥¸¤Ë¤Ï¡¢ ¡Ö¤³¤ì¤é¤Î´Ø¿ô¤Ï "pfmt() ¤È addsev()" ¤Þ¤¿¤Ï "pfmt(), vpfmt(), lfmt(), vlfmt()" ¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Æ¤ª¤ê¡¢ ¾­Íè¤Ïºï½ü¤µ¤ì¤ëͽÄê¤Ç¤¢¤ë¡×¤È½ñ¤«¤ì¤Æ¤¤¤ë¡£

Îã


#include <stdio.h>

#include <fmtmsg.h>



int

main(void)

{

    long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;

    int err;

    err = fmtmsg(class, "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\n");

        break;

    case MM_NOMSG:

        printf("Nothing printed to stderr\n");

        break;

    case MM_NOCON:

        printf("No console output\n");

        break;

    default:

        printf("Unknown error from fmtmsg()\n");

    }

    exit(EXIT_SUCCESS);

}

½ÐÎϤÏ


  util-linux:mount: ERROR: unknown mount option

  TO FIX: See mount(8).  util-linux:mount:017

¤Î¤è¤¦¤Ë¤Ê¤ê¡¢

  MSGVERB=text:action; export MSGVERB

¤ò¼Â¹Ô¤·¤¿¸å¤Ç¤Ï

  unknown mount option

  TO FIX: See mount(8).

¤È¤Ê¤ë¡£

´ØÏ¢¹àÌÜ

addseverity(3), perror(3)