RSM Configuration File

# Resource Standard Metrics
# Configuration Data File

# This output creates a template for rsm.cfg.  RSM uses this file
# for configuring its operation.  This file is a text file and
# must exist in the RSM directory upon the system path or at
# at a location specified by the environment variable RSMHOME.
# The RSM configuration files may also be solely located at a
# location specified by the environment variable RSMCFGHOME.
#
# Special Note:
# Failure to locate a rsm.lic file will put RSM into default
# shareware mode.

# Lines beginning with the # sign are comments in this file.
# Specific text lines before the colon must appear exactly as
# written.  You may changed the value after the colon to either
# a Yes or No or to a specified value.

# The following will tell you where RSM found the RSM license file
# (rsm.lic) and the RSM configuration file (rsm.cfg)
RSM CFG Version: 7.71

# Current Working Dir.: D:\web\public_html\msquaredtechnologies\public_html\m2rsm\docs\reports\rolodex
# Located License File: C:\Program Files\MSquared\M2 RSM\rsm.lic
# Located Config. File: C:\Program Files\MSquared\M2 RSM\rsm.cfg
# Located Use Log File: C:\Program Files\MSquared\M2 RSM\rsm.log
# Located Macro File  : C:\Program Files\MSquared\M2 RSM\rsm_macro.cfg

# The following is the current configuration data

####################################################################
# RSM Operational Configuration ####################################

# Company Specific Header
# This line will appear at the top of all reports
# Typical uses include copyrights, security and project markings
# You must specify both a text version for text and csv reports
# and an HTML version.
Report Header Active                    : Yes
Report Header Text Line                 : Report Banner - Edit rsm.cfg File
Report Header HTML Line                 : <font color="RED" size="+2"><B><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Report Banner - Edit rsm.cfg File</I></B></font>

# Enable user defined configuration files.
# The file rsm.cfg is read from the location of the rsm.lic file.
# This file can enable this option to allow users to override the
# operational configuration of RSM.  This option is enabled by the
# end user with the -u "File cfg path\file" option
Enable user defined configuration files : No

# Windows 9x and DOS are case insensitive file systems.
# Files like foo.c and foo.C are seen as C source files.
# If *.C files are C++ files under these operating systems
# or you are operating on NT or UNIX set this option to
# case sensitivity equal to Yes.
Source file names are case sensitive    : No

# Show a progress indicator when processing files and
# code differentials.
Show progress indicator                 : Yes
Detailed Progress Showing File Names    : No

# Number of files which comprise a status marker when
# status is indicated during lengthy operations.
Progress status interval number of files: 10

# Show file dates when displaying file metrics.
Show file date and size                 : No

# RSM will process only files with the following extensions.
# The user may add to this list, but RSM is designed to process
# only the C, C++, C# and Java languages.
Validate file extensions for processing : Yes

# Specify the extensions for each type of supported language.
# Files extensions are separated by commas and are case sensitive
# if case sensitivity is specified in this file (comma separated,no spaces).
C File Extensions                       : c
C Header File Extensions                : h
C++ File Extensions                     : cc,cpp,cxx,h,hh,H,hxx
C++ Header File Extensions              : h,hh,H,hxx
C# File Extensions                      : cs
Java File Extensions                    : java
# Other files are not officially supported by RSM
# but lines will be counted as LOC
Other File Extensions                   : 

# When analyzing *.h files, treat header files as
# both C and C++.  If you use separate extensions for C++ and
# C header files, then set this option to No.
Treat C headers as C++                  : Yes

# RSM will not process files when the path/file name contains
# a pattern in the pattern list (comma separated,no spaces).
Pattern Filter Active                   : No
Pattern Filter                          : .designer.c

# RSM Code skip strings allow the RSM parser to skip
# processing of all code between the start and stop
# tokens.  This is useful for machine generated code.
# Code tokens are unique in the could base and if
# found on a code line the rsm processing will be effected.
# Start and stop tokens must match within a file and
# cannot span files.  A token cannot contain spaces and
# must be alphnumeric and can contain the underscore.
# Quality skip tokens turn off just quality notice checking.
# i.e.  // RSM_IGNORE_BEGIN
#       some code ....
#       // RSM_IGNORE_END
RSM Code Skip Start Token               : RSM_IGNORE_BEGIN
RSM Code Skip End Token                 : RSM_IGNORE_END
RSM Code Quality Skip Start Token       : RSM_IGNORE_QUALITY_BEGIN
RSM Code Quality Skip End Token         : RSM_IGNORE_QUALITY_END
Activate RSM code skip tokens           : Yes

# RSM will not process files in local directories when this
# flag is set.  This will prevent recursive descent into
# these directories (comma separated,no spaces).
Do not process these local directories  : No
Local directory names not processed     : sccs,cvs,rcs,svn

# Names in reports include file, namespace or package, class
# and function names.  These names can get quite long and will
# extend beyond the report right margin.  This setting will
# wrap the name to the report right margin.
Wrap long names in reports              : Yes

####################################################################
# RSM Configuration for Baseline Metrics Differentials #############

# The following path location specifies where work files
# are to be created.  The path must be a location with write
# permissions.  RSM will create work files in the current
# directory if no path is specified.
Work file location path                 : 


# When processing code line differentials, ignore
# blank line changes in the code.
Ignore code differential blank lines    : Yes

# When processing code line differentials, ignore
# blanks and tab changes in the code.
Ignore code differential white space    : Yes

# Maximum number of lines in a file when using Longest Common Sequence
# differential algorithm.  This value establishes the line to line
# comparison matrix size.  This value has been set to the maximum allowed
# under 32 bit operating systems.  It is not advised to make this value >
# than 10000.  If you have a machine with very low physical memory you may
# want to use a value of 6000 to 7000 where 10000 should be a maximum.
# When file lengths exceed the matrix limits, the file is segmented to fit
# the matrix size.
Maximum LCS file size, number of lines  : 7000

# Code differential metrics determine lines that are
# different in the current baseline compared to the
# older baseline.  This metric can include
# lines that are removed from the current baseline.
Add removed older lines as modified     : No

# When showing differential details for each file
# using the switch -ws
Show equal lines                        : Yes
Show lines removed from older file      : Yes
Show lines added (mod) to newer file    : Yes

# The following parameter, when set to Yes will cause
# the files stored into work files to be relative to the
# location specified by the -w"create top_dir", baseline
# top directory.
Relative Work Files                     : Yes

# User defined productivity values for determining works
# rates for baseline metric differentials.
Work Seconds per Hour                   : 3600
Work Hours per Shift                    : 8
Work Shifts per Day                     : 1
Work Days per Week                      : 5
Work Hours per Man Day                  : 8
Work Hours per Man Week                 : 40
Work Hours per Man Month                : 160
Work Hours per Man Year                 : 1960

#####################################################################
# Function point conversion factors for LOC metrics
#
Header File Function Points per LOC     : 0
Header File Function Points per eLOC    : 0
Header File Function Points per lLOC    : 0
C File Function Points per LOC          : 128
C File Function Points per eLOC         : 128
C File Function Points per lLOC         : 128
C++ File Function Points per LOC        : 53
C++ File Function Points per eLOC       : 53
C++ File Function Points per lLOC       : 53
Java File Function Points per LOC       : 53
Java File Function Points per eLOC      : 53
Java File Function Points per lLOC      : 53
C# File Function Points per LOC         : 53
C# File Function Points per eLOC        : 53
C# File Function Points per lLOC        : 53
Other File Function Points per LOC      : 0
Other File Function Points per eLOC     : 0
Other File Function Points per lLOC     : 0

####################################################################
# RSM Configuration for cyclomatic complexity ######################
#
# McCabe Cyclomatic Complexity includes the following constructs in
# the calculation.
#   function call + if + inline if + while + for + foreach
#   case + goto + logical or + Logical and
#
# You may tailor the cyclomatic complexity calculation to meet your
# specific requirements.

Include 'function call' in cyclomatic complexity: Yes
Include 'while' in cyclomatic complexity        : Yes
Include 'for' in cyclomatic complexity          : Yes
Include 'switch' in cyclomatic complexity       : No
Include 'case' in cyclomatic complexity         : Yes
Include 'if' in cyclomatic complexity           : Yes
Include 'else' in cyclomatic complexity         : No
Include '?' inlined if in cyclomatic complexity : Yes
Include 'goto' in cyclomatic complexity         : Yes
Include '||' or 'or' in cyclomatic complexity   : Yes
Include '&&' or 'and' in cyclomatic complexity  : Yes

####################################################################
# RSM Quality Notices Configuration ################################

# User Defined Quality Notices UDQN
# Specify the file name which contains the UDQN definitions
# See this provided example for a tutorial on UDQN.
RSM user defined quality notice file    : rsm_udqn.cfg

# Re-order the quality notice format so that if a line number
# is emitted, the line number precedes the notice number.  This
# option enables code editors to parse the notice line.
Reorder notice, line in quality notices : No

# RSM Quality Notices For Code Style ###################################

# Quality Notice No. 1
# Emit a quality notice when the physical line length
# is greater than the specified number of characters.
Quality Notice 1                        : Yes
Maximum Line Length                     : 80

# Quality Notice No. 2
# Emit a quality notice when the function name length
# is greater than the specified number of characters.
Quality Notice 2                        : Yes
Maximum Function Name Length            : 32

# Quality Notice No. 21
# Emit a quality notice when a file does not contain
# the specified key string.
Quality Notice 21                       : No
RSM KEY String                          : 

# RSM Quality Notices For Stability and Maintainability ################

# Quality Notice No. 3
# Emit a quality notice when ellipsis '...' are identified
# within a functions parameter list thus enabling variable
# arguments.
Quality Notice 3                        : Yes

# Quality Notice No. 4
# Emit a quality notice if there exists an assignment
# operator '=' within a logical 'if' condition.
Quality Notice 4                        : Yes

# Quality Notice No. 5
# Emit a quality notice if there exists an assignment
# operator '=' within a logical 'while' condition.
Quality Notice 5                        : Yes

# Quality Notice No. 6
# Emit a quality notice when a pre-decrement operator '--'
# is identified within the code.
Quality Notice 6                        : Yes

# Quality Notice No. 7
# Emit a quality notice when a pre-increment operator '++'
# is identified within the code.
Quality Notice 7                        : Yes

# Quality Notice No. 8
# Emit a quality notice when the 'realloc' function
# is identified within the code.
Quality Notice 8                        : Yes

# Quality Notice No. 9
# Emit a quality notice when the 'goto' function
# is identified within the code.
Quality Notice 9                        : Yes

# Quality Notice No. 10
# Emit a quality notice when the Non-ANSI function
# prototype is identified within the code.
Quality Notice 10                       : Yes

# Quality Notice No. 11
# Emit a quality notice when open and closed brackets
# '[ ]' are not balance within a file.
Quality Notice 11                       : Yes

# Quality Notice No. 12
# Emit a quality notice when open and closed parenthesis
# '()' are not balance within a file.
Quality Notice 12                       : Yes

# Quality Notice No. 13
# Emit a quality notice when a 'switch' statement does
# not have a 'default' condition.
Quality Notice 13                       : Yes

# Quality Notice No. 14
# Emit a quality notice when there are more 'case' conditions
# than 'break' statements or 'fall through' comments.
Use default in case/break comparison    : Yes
Quality Notice 14                       : Yes

# Quality Notice No. 15
# Emit a quality notice when a friend class
# is identified within the code.
Quality Notice 15                       : Yes

# Quality Notice No. 22
# Emit a quality notice when each if, else, for
# or while is not bound by scope.
Quality Notice 22                       : Yes

# Quality Notice No. 23
# Emit a quality notice when the '?' or the implied
# if-then-else construct has been identified.
Quality Notice 23                       : Yes

# Quality Notice No. 24
# Emit a quality notice when an ANSI C++ keyword
# is identified within a *.c or a *.h file.
Quality Notice 24                       : Yes

# Quality Notice No. 26
# Emit a quality notice when a void * is identified
# within a source file.
Quality Notice 26                       : Yes

# Quality Notice No. 27
# Emit a quality notice when the number of function
# return points is greater than the specified maximum.
Quality Notice 27                       : Yes
Maximum functional return points        : 1
Count goto as a function return point   : Yes

# Quality Notice No. 28
# Emit a quality notice when the cyclomatic complexity
# of a function exceeds the specified maximum.
Quality Notice 28                       : Yes
Maximum functional cyclomatic complexity: 10

# Quality Notice No. 29
# Emit a quality notice when the number of function
# input parameters exceeds the specified maximum.
Quality Notice 29                       : Yes
Maximum functional interface complexity : 6

# Quality Notice No. 49
# Emit a quality notice when function parameters
# are blank or not specified, thus requiring void.
Quality Notice 49                       : Yes

# Quality Notice No. 30
# Emit a quality notice when a TAB character is identified
# within the source code.  Indentation with TAB will create
# editor and device dependent formatting.
Quality Notice 30                       : Yes

# Quality Notice No. 32
# Emit a quality notice when 'using namespace'
# has been identified in a C++ source file.
Quality Notice 32                       : Yes

# Quality Notice No. 33
# Emit a quality notice when a class/struct definition
# is identified within a function definition.
Quality Notice 33                       : Yes

# Quality Notice No. 34
# Emit a quality notice when a class definition
# contains a pointer to a data item.
Quality Notice 34                       : Yes

# Quality Notice No. 35
# Emit a quality notice when a class definition
# contains public data.
Quality Notice 35                       : Yes

# Reference Quality Notice No. 35
# Ignore public data for specific types of data
Ignore public event data                : Yes
Ignore public const data                : Yes
Ignore public delegate data             : Yes

# Quality Notice No. 36
# Emit a quality notice when a class definition
# contains protected data.
Quality Notice 36                       : Yes

# Quality Notice No. 37
# Emit a quality notice when a base class, with virtual
# functions, does not contain a virtual destructor.
Quality Notice 37                       : Yes

# Quality Notice No. 38
# Emit a quality notice when exception handling is
# present within a function.
Quality Notice 38                       : Yes

# Quality Notice No. 39
# Emit a quality notice when the number of class/struct methods
# exceed the specified maximum (public, protected and private).
Quality Notice 39                       : Yes
Maximum number of methods per class     : 100

# Quality Notice No. 40
# Emit a quality notice when the depth of the inheritance
# tree exceeds the specified maximum value.
Quality Notice 40                       : Yes
Maximum depth of inheritance tree       : 4

# Quality Notice No. 41
# Emit a quality notice when the number of direct derived
# classes exceeds the specified maximum value.
Quality Notice 41                       : Yes
Maximum number of derived child classes : 10

# Quality Notice No. 42
# Emit a quality notice when the multiple inheritance
# has been identified.
Quality Notice 42                       : Yes

# Quality Notice No. 43
# Emit a quality notice when the keyword 'continue'
# has been identified.
Quality Notice 43                       : Yes

# Quality Notice No. 44
# Emit a quality notice when the keyword 'break'
# has been identified outside a 'switch' logic
# control structure.
Quality Notice 44                       : Yes

# Quality Notice No. 45
# Emit a quality notice when a file does not
# have equal counts of new and delete.
Quality Notice 45                       : Yes

# Quality Notice No. 50
# Emit a quality notice when a variable is assigned
# to a literal number and not a symbolic constant.
Quality Notice 50                       : Yes
Include zero (0) as literal assignment  : Yes

# Quality Notice No. 55
# Emit a quality notice when the depth of scope
# exceeds the specified maximum value.  This condition
# indicates complex logic and/or a maintenance concern.
Quality Notice 55                       : Yes
Maximum depth of scope                  : 5

# Quality Notice No. 56
# Emit a quality notice when sequential breaks are
# identified without a respective case statement.
Quality Notice 56                       : Yes

# RSM Quality Notices for Functional/Struct and Class Content ##########

# Minimum LOC for content analysis for blank lines
# comments, and white space.
Min. Function LOC for content analysis  : 5
Min. Class/Struct LOC content analysis  : 10

# Quality Notice No. 16
# Emit a quality notice when function, struct, class
# or interface white space percentage is less than
# the specified minimum.
Quality Notice 16                       : Yes
Minimum Function Whitespace Percent     : 10.00 

# Quality Notice No. 17
# Emit a quality notice when function comment line
# percentage is less than the specified minimum.
Quality Notice 17                       : Yes
Minimum Function Comment Line Percent   : 10.00 

# Quality Notice No. 18
# Emit a quality notice when the eLOC within a
# function exceeds the specified maximum.
Quality Notice 18                       : Yes
Maximum Function eLOC                   : 200

# Quality Notice No. 48
# Emit a quality notice when the lLOC within a
# function does not meet the specified minimum.
# This notice serves to find nop functions.
Quality Notice 48                       : Yes
Minimum Function lLOC                   : 0

# Quality Notice No. 31
# Emit a quality notice when class/struct comment line
# percentage is less than the specified minimum.
Quality Notice 31                       : Yes
Minimum Class/Struct Comment Percent    : 10.00 

# Quality Notice No. 46
# Emit a quality notice when function, struct, class
# or interface blank line percentage is less than the
# specified minimum.
Quality Notice 46                       : Yes
Minimum Function Blank Line Percent     : 10.00 

# Quality Notice No. 51
# Emit a quality notice when a function
# does not have a preceding comment.
Quality Notice 51                       : Yes

# Quality Notice No. 52
# Emit a quality notice when a class
# does not have a preceding comment.
Quality Notice 52                       : Yes

# Quality Notice No. 53
# Emit a quality notice when a struct
# does not have a preceding comment.
Quality Notice 53                       : Yes

# Quality Notice No. 54
# Emit a quality notice when a interface
# does not have a preceding comment.
Quality Notice 54                       : Yes

# RSM Quality Notices for File Content #

# Quality Notice No. 19
# Emit a quality notice when file white space
# percentage is less than the specified minimum.
# Consider setting Notice 30 to No.
Quality Notice 19                       : Yes
Minimum File Whitespace Percent         : 10.00 
A TAB is equivalent to n space          : 2

# Quality Notice No. 20
# Emit a quality notice when file comment line
# percentage is less than the specified minimum.
Quality Notice 20                       : Yes
Minimum File Comment Line Percent       : 10.00 

# Quality Notice No. 47
# Emit a quality notice when file blank line
# percentage is less than the specified minimum.
Quality Notice 47                       : Yes
Minimum File Blank Line Percent         : 10.00 

# Quality Notice No. 57
# Emit a quality notice when RSM skip lines conditions
# are met by a matching token.
Quality Notice 57                       : No

# Quality Notice No. 58
# Emit a quality notice when RSM skip quality notice conditions
# are met by a matching token.
Quality Notice 58                       : No

# RSM Quality Notices Miscellaneous ####################################

# Quality Notice No. 25
# Deprecated in Version 6.70
# See settings under language extensions.

####################################################################
# Code Listing Report Configuration ################################

# The following parameters setup source code printing.
# These values become the default settings.
Printed Line Length                     : 80
Printed Page Length                     : 55
Printed Left Margin                     : 5
Printed Top Margin                      : 1
Printed Page Header                     : RSM Code Listing
Page breaks in code print format        : No

####################################################################
# HTML Report and Color Configuration ##############################

# The following parameters setup HTML report output.  The hyperlinks
# for source code can be either absolute or relative.
Relative HTML Links                     : Yes

# The following color parameters modify the HTML report
# output.  Colors can be specified as Hex or Name.
# Blank color parameters will result to the browser default.
HTML RSM Color                          : #0000FF
HTML Date Color                         : #0000FF
HTML Text Color                         : #000000
HTML VLink Color                        : #660099
HTML Link Color                         : #0000EE
HTML Background Color                   : #F8F8F8
HTML Error Color                        : #FF0000
HTML Line Color                         : #003399
HTML Old File Differential Color        : #CC0033
HTML New File Differential Color        : #336666
HTML File Name Color                    : #0000FF
HTML Function Color                     : #0000FF
HTML Function Parameter Color           : #006600
HTML Template Color                     : #006699
HTML Macro Color                        : #33CCFF
HTML Class Color                        : #663300
HTML Inheritance Color                  : #FF3300
HTML Struct Color                       : #990000
HTML Notice Color                       : #CC0000
HTML Header Color                       : #993300
HTML New Code Differential Color        : #3366CC
HTML Removed Code Differential Color    : #FF0000
HTML Modified Code Differential Color   : #993300
HTML Equal Code Differential Color      : #00CC00
HTML Total Color                        : #993300
HTML Inheritance Depth Color            : #333300
HTML Inheritance Child Color            : #CC6600
####################################################################
# end of rsm.cfg