[ {
  "shortName" : "func authenticate()",
  "longName" : "",
  "relativeFileName" : "pam_ussh.go",
  "fileLinesCount" : 258,
  "components" : [ "primary::ROOT" ],
  "startLine" : 70,
  "endLine" : 202,
  "linesOfCode" : 111,
  "mcCabeIndex" : 26,
  "numberOfParameters" : 5,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func pamAuthenticate()",
  "longName" : "",
  "relativeFileName" : "pam_ussh.go",
  "fileLinesCount" : 258,
  "components" : [ "primary::ROOT" ],
  "startLine" : 219,
  "endLine" : 256,
  "linesOfCode" : 34,
  "mcCabeIndex" : 10,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func isMemberOf()",
  "longName" : "",
  "relativeFileName" : "pam_linux.go",
  "fileLinesCount" : 55,
  "components" : [ "primary::ROOT" ],
  "startLine" : 36,
  "endLine" : 55,
  "linesOfCode" : 17,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func pam_sm_authenticate()",
  "longName" : "",
  "relativeFileName" : "pam.go",
  "fileLinesCount" : 84,
  "components" : [ "primary::ROOT" ],
  "startLine" : 62,
  "endLine" : 79,
  "linesOfCode" : 16,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func getUID()",
  "longName" : "",
  "relativeFileName" : "pam_c.go",
  "fileLinesCount" : 165,
  "components" : [ "primary::ROOT" ],
  "startLine" : 130,
  "endLine" : 145,
  "linesOfCode" : 14,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func loadValidPrincipals()",
  "longName" : "",
  "relativeFileName" : "pam_ussh.go",
  "fileLinesCount" : 258,
  "components" : [ "primary::ROOT" ],
  "startLine" : 204,
  "endLine" : 217,
  "linesOfCode" : 13,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func sliceFromArgv()",
  "longName" : "",
  "relativeFileName" : "pam.go",
  "fileLinesCount" : 84,
  "components" : [ "primary::ROOT" ],
  "startLine" : 51,
  "endLine" : 59,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func getUsername()",
  "longName" : "",
  "relativeFileName" : "pam_c.go",
  "fileLinesCount" : 165,
  "components" : [ "primary::ROOT" ],
  "startLine" : 148,
  "endLine" : 155,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func pamLog()",
  "longName" : "",
  "relativeFileName" : "pam_ussh.go",
  "fileLinesCount" : 258,
  "components" : [ "primary::ROOT" ],
  "startLine" : 60,
  "endLine" : 66,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func init()",
  "longName" : "",
  "relativeFileName" : "pam.go",
  "fileLinesCount" : 84,
  "components" : [ "primary::ROOT" ],
  "startLine" : 45,
  "endLine" : 49,
  "linesOfCode" : 5,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func ownerUID()",
  "longName" : "",
  "relativeFileName" : "pam_c.go",
  "fileLinesCount" : 165,
  "components" : [ "primary::ROOT" ],
  "startLine" : 122,
  "endLine" : 127,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func isMemberOf()",
  "longName" : "",
  "relativeFileName" : "pam_darwin.go",
  "fileLinesCount" : 27,
  "components" : [ "primary::ROOT" ],
  "startLine" : 25,
  "endLine" : 27,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func pam_sm_setcred()",
  "longName" : "",
  "relativeFileName" : "pam.go",
  "fileLinesCount" : 84,
  "components" : [ "primary::ROOT" ],
  "startLine" : 82,
  "endLine" : 84,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func seteuid()",
  "longName" : "",
  "relativeFileName" : "pam_c.go",
  "fileLinesCount" : 165,
  "components" : [ "primary::ROOT" ],
  "startLine" : 158,
  "endLine" : 160,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func disablePtrace()",
  "longName" : "",
  "relativeFileName" : "pam_c.go",
  "fileLinesCount" : 165,
  "components" : [ "primary::ROOT" ],
  "startLine" : 163,
  "endLine" : 165,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "func main()",
  "longName" : "",
  "relativeFileName" : "pam_ussh.go",
  "fileLinesCount" : 258,
  "components" : [ "primary::ROOT" ],
  "startLine" : 258,
  "endLine" : 258,
  "linesOfCode" : 1,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
} ]