LCOV - code coverage report
Current view: top level - journal - journald-context.h (source / functions) Hit Total Coverage
Test: systemd_full.info Lines: 0 8 0.0 %
Date: 2019-08-23 13:36:53 Functions: 0 2 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 6 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: LGPL-2.1+ */
       2                 :            : #pragma once
       3                 :            : 
       4                 :            : #include <inttypes.h>
       5                 :            : #include <sys/socket.h>
       6                 :            : #include <sys/types.h>
       7                 :            : 
       8                 :            : #include "sd-id128.h"
       9                 :            : 
      10                 :            : #include "time-util.h"
      11                 :            : 
      12                 :            : typedef struct ClientContext ClientContext;
      13                 :            : 
      14                 :            : #include "journald-server.h"
      15                 :            : 
      16                 :            : struct ClientContext {
      17                 :            :         unsigned n_ref;
      18                 :            :         unsigned lru_index;
      19                 :            :         usec_t timestamp;
      20                 :            :         bool in_lru;
      21                 :            : 
      22                 :            :         pid_t pid;
      23                 :            :         uid_t uid;
      24                 :            :         gid_t gid;
      25                 :            : 
      26                 :            :         char *comm;
      27                 :            :         char *exe;
      28                 :            :         char *cmdline;
      29                 :            :         char *capeff;
      30                 :            : 
      31                 :            :         uint32_t auditid;
      32                 :            :         uid_t loginuid;
      33                 :            : 
      34                 :            :         char *cgroup;
      35                 :            :         char *session;
      36                 :            :         uid_t owner_uid;
      37                 :            : 
      38                 :            :         char *unit;
      39                 :            :         char *user_unit;
      40                 :            : 
      41                 :            :         char *slice;
      42                 :            :         char *user_slice;
      43                 :            : 
      44                 :            :         sd_id128_t invocation_id;
      45                 :            : 
      46                 :            :         char *label;
      47                 :            :         size_t label_size;
      48                 :            : 
      49                 :            :         int log_level_max;
      50                 :            : 
      51                 :            :         struct iovec *extra_fields_iovec;
      52                 :            :         size_t extra_fields_n_iovec;
      53                 :            :         void *extra_fields_data;
      54                 :            :         nsec_t extra_fields_mtime;
      55                 :            : 
      56                 :            :         usec_t log_rate_limit_interval;
      57                 :            :         unsigned log_rate_limit_burst;
      58                 :            : };
      59                 :            : 
      60                 :            : int client_context_get(
      61                 :            :                 Server *s,
      62                 :            :                 pid_t pid,
      63                 :            :                 const struct ucred *ucred,
      64                 :            :                 const char *label, size_t label_len,
      65                 :            :                 const char *unit_id,
      66                 :            :                 ClientContext **ret);
      67                 :            : 
      68                 :            : int client_context_acquire(
      69                 :            :                 Server *s,
      70                 :            :                 pid_t pid,
      71                 :            :                 const struct ucred *ucred,
      72                 :            :                 const char *label, size_t label_len,
      73                 :            :                 const char *unit_id,
      74                 :            :                 ClientContext **ret);
      75                 :            : 
      76                 :            : ClientContext* client_context_release(Server *s, ClientContext *c);
      77                 :            : 
      78                 :            : void client_context_maybe_refresh(
      79                 :            :                 Server *s,
      80                 :            :                 ClientContext *c,
      81                 :            :                 const struct ucred *ucred,
      82                 :            :                 const char *label, size_t label_size,
      83                 :            :                 const char *unit_id,
      84                 :            :                 usec_t tstamp);
      85                 :            : 
      86                 :            : void client_context_acquire_default(Server *s);
      87                 :            : void client_context_flush_all(Server *s);
      88                 :            : 
      89                 :          0 : static inline size_t client_context_extra_fields_n_iovec(const ClientContext *c) {
      90         [ #  # ]:          0 :         return c ? c->extra_fields_n_iovec : 0;
      91                 :            : }
      92                 :            : 
      93                 :          0 : static inline bool client_context_test_priority(const ClientContext *c, int priority) {
      94         [ #  # ]:          0 :         if (!c)
      95                 :          0 :                 return true;
      96                 :            : 
      97         [ #  # ]:          0 :         if (c->log_level_max < 0)
      98                 :          0 :                 return true;
      99                 :            : 
     100                 :          0 :         return LOG_PRI(priority) <= c->log_level_max;
     101                 :            : }

Generated by: LCOV version 1.14