Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


tracefs_file_exists(3) — Linux manual page

NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |EXAMPLE |FILES |SEE ALSO |AUTHOR |REPORTING BUGS |LICENSE |RESOURCES |COPYING |NOTES |COLOPHON

LIBTRACEFS(3)               libtracefs ManualLIBTRACEFS(3)

NAME        top

       tracefs_file_exists, tracefs_dir_exists,       tracefs_instance_get_file, tracefs_instance_get_dir - Work with       files directories in tracing instances.

SYNOPSIS        top

#include <tracefs.h>       booltracefs_file_exists(struct tracefs_instance *instance, char *name);       booltracefs_dir_exists(struct tracefs_instance *instance, char *name);       char *tracefs_instance_get_file(struct tracefs_instance *instance, const char *file);       char *tracefs_instance_get_dir(struct tracefs_instance *instance);

DESCRIPTION        top

       This set of APIs can be used to work with trace files in all trace       instances. Each of these APIs take aninstance argument, that can       be NULL to act on the top level instance. Otherwise, it acts on an       instance created withtracefs_insance_create(3)       Thetracefs_file_exists()function checks if a file withname       exists ininstance.       Thetracefs_dir_exists()function checks if a directory withname       exists ininstance.       Thetracefs_instance_get_file()function returns the full path of       the file with givenname ininstance. Note, it does not check if       the file exists in the instance.       Thetracefs_instance_get_dir()function returns the full path of       the directory with givenname ininstance. Note, it does not check       if the directory exists in the instance.

RETURN VALUE        top

       Thetracefs_file_exists()andtracefs_dir_exists()functions       return true if the file / directory exist in the given instance or       false if it does not exist.       Thetracefs_instance_get_file()andtracefs_instance_get_dir()       functions return a string or NULL in case of an error. The       returned string must be freed withtracefs_put_tracing_file().

EXAMPLE        top

           #include <tracefs.h>           struct tracefs_instance *inst = tracefs_instance_create("foo");                   if (!inst) {                           /* Error creating a new trace instance */                           ...                   }                   if (tracefs_file_exists(inst,"trace_clock")) {                           /* The instance foo supports trace clock */                           char *path, *clock;                           int size;                           path =  = tracefs_instance_get_file(inst, "trace_clock")                           if (!path) {                                   /* Error getting the path to trace_clock file in instance foo */                                   ...                           }                           ...                           tracefs_put_tracing_file(path);                           clock = tracefs_instance_file_read(inst, "trace_clock", &size);                           if (!clock) {                                   /* Failed to read trace_clock file in instance foo */                                   ...                           }                           ...                           free(clock);                           if (tracefs_instance_file_write(inst, "trace_clock", "global") != strlen("global")) {                                   /* Failed to set gloabl trace clock in instance foo */                                   ...                           }                   } else {                           /* The instance foo does not support trace clock */                   }                   if (tracefs_dir_exists(inst,"options")) {                           /* The instance foo supports trace options */                           char *path = tracefs_instance_get_file(inst, "options");                           if (!path) {                                   /* Error getting the path to options directory in instance foo */                                   ...                           }                           tracefs_put_tracing_file(path);                   } else {                           /* The instance foo does not support trace options */                   }                   ...                   if (tracefs_instance_is_new(inst))                           tracefs_instance_destroy(inst);                   else                           tracefs_instance_free(inst);                   ...                   long long int res;                   if (tracefs_instance_file_read_number(NULL, "tracing_on", &res) == 0) {                           if (res == 0) {                                   /* tracing is disabled in the top instance */                           } else if (res == 1) {                                   /* tracing is enabled in the top instance */                           } else {                                   /* Unknown tracing state of the top instance */                           }                   } else {                           /* Failed to read integer from tracing_on file */                   }                   ...                   int fd;                   fd = tracefs_instance_file_open(NULL, "tracing_on", O_WRONLY);                   if (fd >= 0) {                           /* Got file descriptor to the tracing_on file from the top instance for writing */                           ...                           close(fd);                   }

FILES        top

tracefs.h                   Header file to include in order to have access to the library APIs.-ltracefs                   Linker switch to add when building a program that uses the library.

SEE ALSO        top

libtracefs(3),libtraceevent(3),trace-cmd(1)

AUTHOR        top

Steven Rostedt<rostedt@goodmis.org[1]>Tzvetomir Stoyanov<tz.stoyanov@gmail.com[2]>

REPORTING BUGS        top

       Report bugs to <linux-trace-devel@vger.kernel.org[3]>

LICENSE        top

       libtracefs is Free Software licensed under the GNU LGPL 2.1

RESOURCES        top

https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/

COPYING        top

       Copyright (C) 2020 VMware, Inc. Free use of this software is       granted under the terms of the GNU Public License (GPL).

NOTES        top

        1. rostedt@goodmis.org           mailto:rostedt@goodmis.org        2. tz.stoyanov@gmail.com           mailto:tz.stoyanov@gmail.com        3. linux-trace-devel@vger.kernel.org           mailto:linux-trace-devel@vger.kernel.org

COLOPHON        top

       This page is part of thelibtracefs (Linux kernel trace file       system library) project.  Information about the project can be       found at ⟨https://www.trace-cmd.org/⟩.  If you have a bug report       for this manual page, see ⟨https://www.trace-cmd.org/⟩.  This page       was obtained from the project's upstream Git repository       ⟨https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git⟩ on       2025-08-11.  (At that time, the date of the most recent commit       that was found in the repository was 2025-06-02.)  If you discover       any rendering problems in this HTML version of the page, or you       believe there is a better or more up-to-date source for the page,       or you have corrections or improvements to the information in this       COLOPHON (which isnot part of the original manual page), send a       mail to man-pages@man7.orglibtracefs 1.7.0                12/22/2023LIBTRACEFS(3)

Pages that refer to this page:kbuffer_alloc(3)tracefs_event_get_file(3)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp