LCOV - code coverage report
Current view: top level - src/include - pgtar.h (source / functions) Hit Total Coverage
Test: PostgreSQL 16beta1 Lines: 2 2 100.0 %
Date: 2023-06-01 12:12:28 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*-------------------------------------------------------------------------
       2             :  *
       3             :  * pgtar.h
       4             :  *    Functions for manipulating tarfile datastructures (src/port/tar.c)
       5             :  *
       6             :  *
       7             :  * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
       8             :  * Portions Copyright (c) 1994, Regents of the University of California
       9             :  *
      10             :  * src/include/pgtar.h
      11             :  *
      12             :  *-------------------------------------------------------------------------
      13             :  */
      14             : #ifndef PG_TAR_H
      15             : #define PG_TAR_H
      16             : 
      17             : #define     TAR_BLOCK_SIZE  512
      18             : 
      19             : enum tarError
      20             : {
      21             :     TAR_OK = 0,
      22             :     TAR_NAME_TOO_LONG,
      23             :     TAR_SYMLINK_TOO_LONG
      24             : };
      25             : 
      26             : extern enum tarError tarCreateHeader(char *h, const char *filename,
      27             :                                      const char *linktarget, pgoff_t size,
      28             :                                      mode_t mode, uid_t uid, gid_t gid,
      29             :                                      time_t mtime);
      30             : extern uint64 read_tar_number(const char *s, int len);
      31             : extern void print_tar_number(char *s, int len, uint64 val);
      32             : extern int  tarChecksum(char *header);
      33             : 
      34             : /*
      35             :  * Compute the number of padding bytes required for an entry in a tar
      36             :  * archive. We must pad out to a multiple of TAR_BLOCK_SIZE. Since that's
      37             :  * a power of 2, we can use TYPEALIGN().
      38             :  */
      39             : static inline size_t
      40      867016 : tarPaddingBytesRequired(size_t len)
      41             : {
      42      867016 :     return TYPEALIGN(TAR_BLOCK_SIZE, len) - len;
      43             : }
      44             : 
      45             : #endif

Generated by: LCOV version 1.14