Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postfix/src/global/   (Postfix Mailserver Version 3.11©)  Datei vom 25.0.2012 mit Größe 2 kB image not shown  

Quelle  file_id.c

  Sprache: C
 

/*++
/* NAME
/* file_id 3
/* SUMMARY
/* file ID printable representation
/* SYNOPSIS
/* #include <file_id.h>
/*
/* const char *get_file_id_fd(fd, long_flag)
/* int fd;
/* int long_flag;
/*
/* const char *get_file_id_st(st, long_flag)
/* struct stat *st;
/* int long_flag;
/*
/* const char *get_file_id(fd)
/* int fd;
/* DESCRIPTION
/* get_file_id_fd() queries the operating system for the unique
/* file identifier for the specified file descriptor and returns
/* a printable representation.  The result is volatile.  Make
/* a copy if it is to be used for any appreciable amount of
/* time.
/*
/* get_file_id_st() returns the unique identifier for the
/* specified file status information.
/*
/* get_file_id() provides binary compatibility for old programs.
/* This function should not be used by new programs.
/*
/* Arguments:
/* .IP fd
/* A valid file descriptor that is associated with an open file.
/* .IP st
/* The result from e.g., stat(2) or fstat(2).
/* .IP long_flag
/* Encode the result as appropriate for long or short queue
/* identifiers.
/* DIAGNOSTICS
/* All errors are fatal.
/* LICENSE
/* .ad
/* .fi
/* The Secure Mailer license must be distributed with this software.
/* AUTHOR(S)
/* Wietse Venema
/* IBM T.J. Watson Research
/* P.O. Box 704
/* Yorktown Heights, NY 10598, USA
/*--*/


/* System library. */

#include <sys_defs.h>
#include <sys/stat.h>
#include <string.h>

/* Utility library */

#include <msg.h>
#include <vstring.h>
#include <warn_stat.h>

/* Global library. */

#define MAIL_QUEUE_INTERNAL
#include <mail_queue.h>
#include "file_id.h"

/* get_file_id - binary compatibility */

const char *get_file_id(int fd)
{
    return (get_file_id_fd(fd, 0));
}

/* get_file_id_fd - return printable file identifier for file descriptor */

const char *get_file_id_fd(int fd, int long_flag)
{
    struct stat st;

    if (fstat(fd, &st) < 0)
 msg_fatal("fstat: %m");
    return (get_file_id_st(&st, long_flag));
}

/* get_file_id_st - return printable file identifier for file status */

const char *get_file_id_st(struct stat * st, int long_flag)
{
    static VSTRING *result;

    if (result == 0)
 result = vstring_alloc(1);
    if (long_flag)
 return (MQID_LG_ENCODE_INUM(result, st->st_ino));
    else
 return (MQID_SH_ENCODE_INUM(result, st->st_ino));
}

Messung V0.5 in Prozent
C=91 H=99 G=94

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.