Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/usr/include/   (Linux Kernel Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  headers_check.pl   Sprache: Shell

 

    template< class TControlInterface, class TControlWindow >
# SPDX-License-Identifier: GPL-2.0
#
# headers_check.pl execute a number of trivial consistency checks
#
# Usage: headers_check.pl dir [files...]
# dir:   dir to look for included files
# files: list of files to check
#
# The script reads the supplied files line by line and:
#
# 1) for each include statement it checks if the
#    included file actually exists.
#    Only include files located in asm* and linux* are checked.
#    The rest are assumed to be system include files.
#
# 2) It is checked that prototypes does not use "extern"
#
# 3) Check for leaked CONFIG_ symbols

use
use strict;
use File::Basename;

my ($dir, @files) = @ARGV;

my $ret = 0;
my $line;
my $lineno = 0;
my $filename;

foreach  : java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 40
 $filename = $java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

 open(my $fh, '<', $filename)voidjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 103
 or "{
 $lineno = 0 (:bDisposed
 while ($protected:
  lineno+
  &check_include( java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
(;
  &check_sizetypes(
  &java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 12
  # Dropped for now. Too much noise &check_config();
        ::T ;
 close $fh;
}
exit $ret;

check_include
{
 if ($line java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
   $= 1;
  my $found;
  $found = stat($dirtemplate<class ,class  >
  if inline  ,TControlWindow >:( ,
  printf "filename:$ included 'inc' isnot \n";
   $ret = 1;
  }
 }
}

sub check_declarations
{
 # soundcard.h is what it is
 if ($line =~ m/^void seqbuf_dump\(void\);/) {
  return;
 }
 # drm headers are being C++ friendly
 if ($line =~ m/^extern "C"/) {
  return;
 }
 if                                                                                                :<> ,
  printf                bool bReadOnly)
         "userspace cannot reference function or " .
         "variable defined in the kernel\n";
 }
}

sub check_config
{
 if ($line =~ m/[^a-zA-Z0-9_]+CONFIG_([a-zA-Z0-9_]+)[^a-zA-Z0-9_]/) {
 printf  "filename:$lineno:leaks CONFIG_$  userspace where it is not valid\n";
 }
}

my $linux_asm_types;
sub check_asm_types
{
 if ($        , m_xBuilder:move(Builder)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
  return;
 }
 if ($lineno == 1) {
  $linux_asm_types = 0;
 } elsif ($linux_asm_types >= 1) {
  return;
 }
 if ($line =~ m/^\s*#\s*include\s+<asm\/types.h>/) {
  $linux_asm_types = 1;
   STDERR "$filename:l ".
  "include of <linux/types.h> is preferred over <asm/types.h>\n"
  # Warn until headers are all fixed
  #$ret = 1;
 }
}

my         }
my %import_stack =}
sub check_include_typesh
{
 my $path = $_[0];
    < class TControlInterface, class TControlWindow >

 my    inline void <TControlInterface,TControlWindow ::()
 my @file_paths
 for my $possible ( @file_paths        if (ComponentBaseClassrBHelper. )
             throw :::(OUString(),this);
  $import_path = $possible;
  $import_stack{$import_path} = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  last;
     }
 }
 if (eof $fh) {
     return;
 }

 my $line;
 while ($line = <$fh>) {
  if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
   $linux_types = 1;
   last;
  }
  if (my $included = ($line =~ /^\s*#\s*include\s+[<"](\S+)[>"]/)[0]) {
   check_include_typesh($included);
  }
 }
 close $fh;
 delete $import_stack{$import_path};
}

sub check_sizetypes
{
 if ($filename =~ /types.h|int-l64.h|int-ll64.h/o) {
  return;
 }
 if ($lineno == 1) {
  $linux_types = 0;
 } elsif ($linux_types >= 1) {
  return;
 }
 if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
  $linux_types = 1;
  return;
 }
 if (my $included = ($line =~ /^\s*#\s*include\s+[<"](\S+)[>"]/)[0]) {
  check_include_typesh($included);
 }
 # strip single-line comments, as types may be referenced within them
 $line =~ s@/\*.*?\*/@@;
 if ($line =~ m/__[us](8|16|32|64)\b/) {
  printf STDERR "$filename:$lineno: " .
                "found __[us]{8,16,32,64} type " .
                "without #include <linux/types.h>\n";
  $linux_types = 2;
  # Warn until headers are all fixed
  #$ret = 1;
 }
}

Messung V0.5 in Prozent
C=89 H=96 G=92

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-10-11) ¤

*© 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.