SYMBOL INDEX (899 symbols across 128 files) FILE: management/tcontrollerd/controller/controller.go function Handle (line 16) | func Handle() error { FILE: management/tcontrollerd/controller/website.go constant Ping (line 22) | Ping = "ping" constant Pong (line 23) | Pong = "pong" constant EventTypeWebsite (line 24) | EventTypeWebsite = "website" constant EventTypeDeleteWebsite (line 25) | EventTypeDeleteWebsite = "deleteWebsite" constant EventTypeFullWebsite (line 26) | EventTypeFullWebsite = "fullWebsite" constant nginxConfigPath (line 28) | nginxConfigPath = "/etc/nginx/sites-enabled/" constant nginxFilePrefix (line 29) | nginxFilePrefix = "IF_backend_" constant nginxBackupFilePrefix (line 30) | nginxBackupFilePrefix = "BAK_IF_backend_" constant nginxFileMode (line 31) | nginxFileMode = 0644 constant HttpsScheme (line 33) | HttpsScheme = "https" constant DefaultHttpsPort (line 34) | DefaultHttpsPort = "443" function generateNginxConfig (line 39) | func generateNginxConfig(website *model.WebsiteConfig) (string, error) { function nginxTestAndReload (line 88) | func nginxTestAndReload() error { function generateFullConfigAndReload (line 102) | func generateFullConfigAndReload(msg []byte) error { function generateConfigAndReload (line 134) | func generateConfigAndReload(website *model.WebsiteConfig) error { function deleteConfigAndReload (line 195) | func deleteConfigAndReload(config []byte) error { function sendResponse (line 221) | func sendResponse(stream pb.Website_SubscribeClient, eventType string, e... function websiteHandler (line 229) | func websiteHandler(wc pb.WebsiteClient) error { FILE: management/tcontrollerd/main.go function init (line 31) | func init() { function handleLoop (line 35) | func handleLoop(ctx context.Context) { function main (line 49) | func main() { FILE: management/tcontrollerd/model/website.go type WebsiteConfig (line 4) | type WebsiteConfig struct FILE: management/tcontrollerd/pkg/config/config.go function InitConfigs (line 13) | func InitConfigs(configFilePath string) error { FILE: management/tcontrollerd/pkg/config/global.go type Config (line 3) | type Config struct function DefaultGlobalConfig (line 8) | func DefaultGlobalConfig() Config { FILE: management/tcontrollerd/pkg/config/log.go type LogConfig (line 7) | type LogConfig struct method Load (line 19) | func (lc *LogConfig) Load(setting *settings.Setting) error { function DefaultLogConfig (line 12) | func DefaultLogConfig() LogConfig { FILE: management/tcontrollerd/pkg/constants/constants.go constant ConfigFilePath (line 4) | ConfigFilePath = "config.yml" FILE: management/tcontrollerd/pkg/constants/forbidden_page.go constant DefaultForbiddenPageMd5 (line 4) | DefaultForbiddenPageMd5 = "d9921f84f36a6cc92a6fc13946a18e98" constant DefaultForbiddenPage (line 5) | DefaultForbiddenPage = `` FILE: management/tcontrollerd/pkg/cron/cron.go function newCronWithSeconds (line 11) | func newCronWithSeconds() *cron.Cron { function StartCron (line 17) | func StartCron() error { FILE: management/tcontrollerd/pkg/cron/forbidden_page.go constant specCheckForbiddenPage (line 16) | specCheckForbiddenPage = "0/30 * * * * ?" constant forbiddenPagePath (line 18) | forbiddenPagePath = "/etc/nginx/forbidden_pages/default_forbidden_page.h... function checkAndUpdateForbiddenPage (line 21) | func checkAndUpdateForbiddenPage() { FILE: management/tcontrollerd/pkg/log/log.go function GetLogger (line 16) | func GetLogger(name string) *log.Logger { function LoadLogLevel (line 20) | func LoadLogLevel() { function SetLogFormatter (line 25) | func SetLogFormatter() { function InitLogger (line 33) | func InitLogger() error { type RuntimeHook (line 70) | type RuntimeHook struct method Levels (line 72) | func (h *RuntimeHook) Levels() []logrus.Level { method Fire (line 76) | func (h *RuntimeHook) Fire(entry *logrus.Entry) error { function NewRuntimeHook (line 115) | func NewRuntimeHook() *RuntimeHook { FILE: management/tcontrollerd/pkg/ngcmd/ngcmd.go function NginxConfTest (line 15) | func NginxConfTest() error { function NginxConfReload (line 31) | func NginxConfReload() error { FILE: management/tcontrollerd/utils/file.go function EnsureDir (line 11) | func EnsureDir(dir string) error { function EnsureFileDir (line 18) | func EnsureFileDir(path string) error { function FileExist (line 22) | func FileExist(path string) (bool, error) { function FilesExist (line 39) | func FilesExist(paths ...string) (bool, error) { function RenameWriteFile (line 52) | func RenameWriteFile(filename string, data []byte, perm os.FileMode) err... function EnsureRenameWriteFile (line 60) | func EnsureRenameWriteFile(path string, data []byte, mode os.FileMode) e... function EnsureWriteFile (line 69) | func EnsureWriteFile(path string, data []byte, mode os.FileMode) error { function CopyFile (line 78) | func CopyFile(srcPath, dstPath string) error { function CopyFileFromIO (line 98) | func CopyFileFromIO(src io.Reader, dstPath string, perm os.FileMode) err... function CopyFileIfNotExist (line 118) | func CopyFileIfNotExist(srcPath, dstPath string) error { FILE: management/tcontrollerd/utils/random.go function RandStr (line 10) | func RandStr(n int) string { FILE: management/webserver/api/auth.go type PostLoginRequest (line 30) | type PostLoginRequest struct function PostLogin (line 35) | func PostLogin(c *gin.Context) { function PostLogout (line 91) | func PostLogout(c *gin.Context) { function GetOTPUrl (line 102) | func GetOTPUrl(c *gin.Context) { function GetUser (line 126) | func GetUser(c *gin.Context) { FILE: management/webserver/api/behaviour.go type PostBehaviourRequest (line 13) | type PostBehaviourRequest struct function PostBehaviour (line 17) | func PostBehaviour(c *gin.Context) { FILE: management/webserver/api/cert.go type postSSLCertRequest (line 16) | type postSSLCertRequest struct constant CRT (line 22) | CRT = ".crt" constant PEM (line 23) | PEM = ".pem" constant KEY (line 24) | KEY = ".key" constant SSLCertDir (line 26) | SSLCertDir = "certs" function PostUploadSSLCert (line 29) | func PostUploadSSLCert(c *gin.Context) { function PostSSLCert (line 61) | func PostSSLCert(c *gin.Context) { FILE: management/webserver/api/common.go constant VersionInfoEntrypoint (line 19) | VersionInfoEntrypoint = "/release/latest/version.json" type idsRequest (line 21) | type idsRequest struct type pageRequest (line 25) | type pageRequest struct type versionInfoResponse (line 30) | type versionInfoResponse struct function GetVersion (line 35) | func GetVersion(c *gin.Context) { function GetUpgradeTips (line 39) | func GetUpgradeTips(ctx *gin.Context) { FILE: management/webserver/api/dashboard.go function GetDashboardCounts (line 14) | func GetDashboardCounts(c *gin.Context) { function GetDashboardSites (line 33) | func GetDashboardSites(c *gin.Context) { function GetDashboardQps (line 37) | func GetDashboardQps(c *gin.Context) { function GetDashboardRequests (line 60) | func GetDashboardRequests(c *gin.Context) { function GetDashboardIntercepts (line 90) | func GetDashboardIntercepts(c *gin.Context) { FILE: management/webserver/api/detectlog.go type GetDetectLogDetailRequest (line 28) | type GetDetectLogDetailRequest struct type PostFalsePositivesRequest (line 32) | type PostFalsePositivesRequest struct type telemetryFalsePositives (line 36) | type telemetryFalsePositives struct function getDetectLog (line 49) | func getDetectLog(eventId string) (*model.DetectLog, error) { function GetDetectLogList (line 68) | func GetDetectLogList(c *gin.Context) { function GetDetectLogDetail (line 115) | func GetDetectLogDetail(c *gin.Context) { function PostFalsePositives (line 133) | func PostFalsePositives(c *gin.Context) { FILE: management/webserver/api/endpoints.go constant Version (line 4) | Version = "/Version" constant UpgradeTips (line 5) | UpgradeTips = "/UpgradeTips" constant Login (line 6) | Login = "/Login" constant Logout (line 7) | Logout = "/Logout" constant OTPUrl (line 8) | OTPUrl = "/OTPUrl" constant User (line 9) | User = "/User" constant DetectLogList (line 10) | DetectLogList = "/DetectLogList" constant DetectLogDetail (line 11) | DetectLogDetail = "/DetectLogDetail" constant Behaviour (line 12) | Behaviour = "/Behaviour" constant FalsePositives (line 13) | FalsePositives = "/FalsePositives" constant Website (line 14) | Website = "/Website" constant UploadSSLCert (line 15) | UploadSSLCert = "/UploadSSLCert" constant SSLCert (line 16) | SSLCert = "/SSLCert" constant PolicyRule (line 17) | PolicyRule = "/PolicyRule" constant SwitchPolicyRule (line 18) | SwitchPolicyRule = "/SwitchPolicyRule" constant DashboardCounts (line 19) | DashboardCounts = "/dashboard/counts" constant DashboardSites (line 20) | DashboardSites = "/dashboard/sites" constant DashboardQps (line 21) | DashboardQps = "/dashboard/qps" constant DashboardRequests (line 22) | DashboardRequests = "/dashboard/requests" constant DashboardIntercepts (line 23) | DashboardIntercepts = "/dashboard/intercepts" constant PolicyGroupGlobal (line 24) | PolicyGroupGlobal = "/PolicyGroupGlobal" constant SrcIPConfig (line 25) | SrcIPConfig = "/SrcIPConfig" FILE: management/webserver/api/policygroup.go function PutPolicyGroupGlobal (line 19) | func PutPolicyGroupGlobal(ctx *gin.Context) { function GetPolicyGroupGlobal (line 63) | func GetPolicyGroupGlobal(ctx *gin.Context) { function PutSrcIPConfig (line 78) | func PutSrcIPConfig(ctx *gin.Context) { function GetSrcIPConfig (line 122) | func GetSrcIPConfig(ctx *gin.Context) { FILE: management/webserver/api/policyrule.go type putSwitchRequest (line 18) | type putSwitchRequest struct function PostPolicyRule (line 23) | func PostPolicyRule(ctx *gin.Context) { function PutSwitchPolicyRule (line 54) | func PutSwitchPolicyRule(ctx *gin.Context) { function PutPolicyRule (line 85) | func PutPolicyRule(ctx *gin.Context) { function DeletePolicyRule (line 125) | func DeletePolicyRule(ctx *gin.Context) { function GetPolicyRule (line 158) | func GetPolicyRule(ctx *gin.Context) { FILE: management/webserver/api/response/error.go constant ErrLoginRequired (line 4) | ErrLoginRequired = "login-required" constant ErrWrongPasscode (line 5) | ErrWrongPasscode = "wrong-passcode" constant ErrWrongTimeGap (line 6) | ErrWrongTimeGap = "wrong-time-gap" constant ErrInternalError (line 7) | ErrInternalError = "internal-error" constant ErrDataNotExist (line 8) | ErrDataNotExist = "data-not-exist" constant ErrWrongFileType (line 9) | ErrWrongFileType = "wrong-filetype" constant ErrReadOnly (line 10) | ErrReadOnly = "read-only" FILE: management/webserver/api/response/jsonbody.go type JSONBody (line 9) | type JSONBody struct function Success (line 22) | func Success(c *gin.Context, data interface{}) { function SuccessWithList (line 31) | func SuccessWithList(c *gin.Context, data interface{}) { function SuccessWithMsg (line 40) | func SuccessWithMsg(c *gin.Context, data interface{}, msg string) { function Error (line 49) | func Error(c *gin.Context, rsp JSONBody, status int) { FILE: management/webserver/api/response/png.go constant StreamContentType (line 9) | StreamContentType = "application/octet-stream" function PNG (line 11) | func PNG(c *gin.Context, bytes []byte) { FILE: management/webserver/api/website.go function publishWebsiteConfig (line 20) | func publishWebsiteConfig(website *model.Website) error { function publishDeleteWebsiteConfig (line 34) | func publishDeleteWebsiteConfig(id []uint) error { function PostWebsite (line 48) | func PostWebsite(ctx *gin.Context) { function PutWebsite (line 85) | func PutWebsite(ctx *gin.Context) { function DeleteWebsite (line 133) | func DeleteWebsite(ctx *gin.Context) { function GetWebsite (line 171) | func GetWebsite(ctx *gin.Context) { FILE: management/webserver/cmd/fake_logs.go function FakeLogs (line 5) | func FakeLogs() { FILE: management/webserver/cmd/gen_certs.go function GenCerts (line 12) | func GenCerts() error { function genServerCert (line 22) | func genServerCert() error { function genClientCACert (line 49) | func genClientCACert() error { FILE: management/webserver/cmd/push_fsl.go function PushFSL (line 8) | func PushFSL() error { FILE: management/webserver/cmd/reset_user.go function ResetUser (line 8) | func ResetUser(username string) { FILE: management/webserver/cmd/show_fsl.go function ShowFSL (line 8) | func ShowFSL() (string, error) { FILE: management/webserver/main.go function init (line 38) | func init() { function main (line 42) | func main() { FILE: management/webserver/middleware/auth.go function AuthRequired (line 13) | func AuthRequired(c *gin.Context) { function ReadOnly (line 41) | func ReadOnly(c *gin.Context) { FILE: management/webserver/model/base.go type Base (line 10) | type Base struct FILE: management/webserver/model/behaviour.go type Behaviour (line 3) | type Behaviour struct FILE: management/webserver/model/db_patch_1_4_0.go type sqlResult (line 10) | type sqlResult struct function DBPatch140 (line 14) | func DBPatch140(tx *gorm.DB) error { FILE: management/webserver/model/detectlog.go type DetectLog (line 17) | type DetectLog struct function getRuleModule (line 27) | func getRuleModule(ruleId string, attackType int) string { function getRuleReason (line 43) | func getRuleReason(ruleId string, attackType int) string { function getAttackType (line 55) | func getAttackType(at int) string { function getCountry (line 63) | func getCountry(country string) string { function TransformDetectLog (line 71) | func TransformDetectLog(basic *DetectLogBasic, detail *DetectLogDetail) ... type DetectLogBasic (line 95) | type DetectLogBasic struct type DetectLogDetail (line 120) | type DetectLogDetail struct function InitDetectLogSamples (line 141) | func InitDetectLogSamples() { FILE: management/webserver/model/init.go function InitModels (line 9) | func InitModels() error { FILE: management/webserver/model/option.go type Options (line 18) | type Options struct function initOptions (line 24) | func initOptions() error { function NotifyInstallation (line 37) | func NotifyInstallation(machineId string) { FILE: management/webserver/model/policygroup.go type PolicyGroup (line 14) | type PolicyGroup constant StrictMode (line 17) | StrictMode = "strict" constant DefaultMode (line 18) | DefaultMode = "default" constant DisableMode (line 19) | DisableMode = "disable" constant SocketIP (line 21) | SocketIP = "socket_ip" constant HTTPHeader (line 22) | HTTPHeader = "http_header" type SrcIPConfig (line 25) | type SrcIPConfig struct type SkynetConfigModule (line 30) | type SkynetConfigModule struct type SkynetConfig (line 41) | type SkynetConfig struct function GetSrcIPConfig (line 49) | func GetSrcIPConfig(db *gorm.DB) (*SrcIPConfig, error) { function initSrcIPConfig (line 62) | func initSrcIPConfig() error { function GetSkynetConfig (line 82) | func GetSkynetConfig(db *gorm.DB) (string, error) { function initPolicyGroupGlobal (line 136) | func initPolicyGroupGlobal() error { FILE: management/webserver/model/policyrule.go type PolicyRule (line 5) | type PolicyRule struct type PolicyRulePattern (line 13) | type PolicyRulePattern struct constant KeySrcIP (line 20) | KeySrcIP = "src_ip" constant KeyURI (line 21) | KeyURI = "uri" constant KeyHost (line 22) | KeyHost = "host" constant OpEq (line 24) | OpEq = "eq" constant OpMatch (line 25) | OpMatch = "match" constant OpCIDR (line 26) | OpCIDR = "cidr" constant OpHas (line 27) | OpHas = "has" constant OpPrefix (line 28) | OpPrefix = "prefix" constant OpRe (line 29) | OpRe = "re" FILE: management/webserver/model/statistics.go type SystemStatistics (line 5) | type SystemStatistics struct FILE: management/webserver/model/user.go type User (line 10) | type User struct function initAdminUser (line 22) | func initAdminUser() error { FILE: management/webserver/model/website.go type Website (line 5) | type Website struct FILE: management/webserver/pkg/config/config.go function InitConfigs (line 13) | func InitConfigs(configFilePath string) error { FILE: management/webserver/pkg/config/db.go type DBConfig (line 10) | type DBConfig struct method Load (line 24) | func (dbc *DBConfig) Load(setting *settings.Setting) error { function DefaultDBConfig (line 16) | func DefaultDBConfig() DBConfig { FILE: management/webserver/pkg/config/detector.go type DetectorConfig (line 7) | type DetectorConfig struct method Load (line 19) | func (d *DetectorConfig) Load(setting *settings.Setting) error { function DefaultDetectorConfig (line 12) | func DefaultDetectorConfig() DetectorConfig { FILE: management/webserver/pkg/config/global.go type Config (line 3) | type Config struct function DefaultGlobalConfig (line 15) | func DefaultGlobalConfig() Config { FILE: management/webserver/pkg/config/grpc.go type GRPCConfig (line 7) | type GRPCConfig struct method Load (line 17) | func (sc *GRPCConfig) Load(setting *settings.Setting) error { function DefaultGRPCConfig (line 11) | func DefaultGRPCConfig() GRPCConfig { FILE: management/webserver/pkg/config/log.go type LogConfig (line 7) | type LogConfig struct method Load (line 19) | func (lc *LogConfig) Load(setting *settings.Setting) error { function DefaultLogConfig (line 12) | func DefaultLogConfig() LogConfig { FILE: management/webserver/pkg/config/server.go type ServerConfig (line 7) | type ServerConfig struct method Load (line 20) | func (sc *ServerConfig) Load(setting *settings.Setting) error { function DefaultServerConfig (line 13) | func DefaultServerConfig() ServerConfig { FILE: management/webserver/pkg/config/telemetry.go type TelemetryConfig (line 7) | type TelemetryConfig struct method Load (line 17) | func (t *TelemetryConfig) Load(setting *settings.Setting) error { function DefaultTelemetryConfig (line 11) | func DefaultTelemetryConfig() TelemetryConfig { FILE: management/webserver/pkg/constants/constants.go constant SuperUser (line 4) | SuperUser = "admin" constant ProductName (line 5) | ProductName = "长亭雷池 WAF 社区版" constant ProductVersion (line 6) | ProductVersion = "" constant ConfigFilePath (line 7) | ConfigFilePath = "config.yml" constant CertsPath (line 8) | CertsPath = "certs" constant NotUpgrade (line 12) | NotUpgrade int = iota constant RecommendedUpgrade (line 13) | RecommendedUpgrade constant MustUpgrade (line 14) | MustUpgrade FILE: management/webserver/pkg/constants/detectlog.go constant ProtocolHTTP (line 4) | ProtocolHTTP = 0 constant ProtocolHTTPS (line 5) | ProtocolHTTPS = 1 constant ProtocolHTTP2 (line 6) | ProtocolHTTP2 = 2 FILE: management/webserver/pkg/constants/detector.go constant ContentType (line 4) | ContentType = "application/octet-stream" constant UpdateEntrypoint (line 5) | UpdateEntrypoint = "/update/policy" constant StatEntrypoint (line 6) | StatEntrypoint = "/stat" constant DefaultPolicyVersion (line 7) | DefaultPolicyVersion = "1" FILE: management/webserver/pkg/constants/option.go constant SecretKey (line 4) | SecretKey = "secret_key" constant MachineID (line 5) | MachineID = "machine_id" constant PolicyGroupGlobal (line 6) | PolicyGroupGlobal = "policy_group_global" constant SrcIPConfig (line 7) | SrcIPConfig = "src_ip_config" FILE: management/webserver/pkg/constants/session.go constant DefaultSessionUserKey (line 4) | DefaultSessionUserKey = "user" FILE: management/webserver/pkg/constants/telemetry.go constant ApplicationJson (line 4) | ApplicationJson = "application/json" constant TelemetryEntryPoint (line 5) | TelemetryEntryPoint = "/telemetry" constant TelemetryId (line 6) | TelemetryId = "9e88109c-ebbf-4d82-8a25-f97f2ac5f3c4" constant Behaviour (line 7) | Behaviour = "behaviour" constant FalsePositives (line 8) | FalsePositives = "false_positives" constant Installation (line 9) | Installation = "Installation" FILE: management/webserver/pkg/cron/cron.go function newCronWithSeconds (line 11) | func newCronWithSeconds() *cron.Cron { function StartCron (line 17) | func StartCron() error { FILE: management/webserver/pkg/cron/update_policy.go constant SpecUpdatePolicy (line 19) | SpecUpdatePolicy = "0/5 * * * * ?" type statResponseBody (line 21) | type statResponseBody struct function getBytecode (line 25) | func getBytecode() ([]byte, error) { function CheckAndUpdatePolicy (line 33) | func CheckAndUpdatePolicy() { FILE: management/webserver/pkg/database/postgres.go type PostgresDB (line 13) | type PostgresDB struct method SetDB (line 61) | func (db *PostgresDB) SetDB(gormDB *gorm.DB) { function GetDB (line 22) | func GetDB() *PostgresDB { function InitDB (line 26) | func InitDB() error { FILE: management/webserver/pkg/fvm/fsl/action.go function Goto (line 8) | func Goto(m string) string { function Wheres (line 12) | func Wheres(items ...string) string { function Actions (line 16) | func Actions(items ...string) string { function Set (line 20) | func Set(k, t, v string) string { FILE: management/webserver/pkg/fvm/fsl/quote.go function appendEscapedByte (line 9) | func appendEscapedByte(buf []byte, b byte) []byte { function appendQuotedWith (line 35) | func appendQuotedWith(buf []byte, s string, quote byte) []byte { function quoteWith (line 44) | func quoteWith(s string, quote byte) string { function Quote (line 48) | func Quote(s string) string { FILE: management/webserver/pkg/fvm/fsl/selector.go type Selector (line 7) | type Selector struct method String (line 23) | func (s *Selector) String() string { method AppendInto (line 32) | func (s *Selector) AppendInto() string { function NewSelector (line 14) | func NewSelector(tableName, id, where, action string) *Selector { function AppendInto (line 36) | func AppendInto(tableName, id, where, action string) string { FILE: management/webserver/pkg/fvm/fsl/state.go type State (line 7) | type State method String (line 15) | func (s State) String() string { constant S_NOP (line 10) | S_NOP State = iota constant S_ABORT (line 11) | S_ABORT constant S_RETURN (line 12) | S_RETURN FILE: management/webserver/pkg/fvm/fsl/table.go type Table (line 8) | type Table struct method String (line 20) | func (t *Table) String() string { method Create (line 32) | func (t *Table) Create() string { function NewTable (line 13) | func NewTable(name string, mappings map[State]State) *Table { function CreateTable (line 36) | func CreateTable(name string, mappings map[State]State) string { FILE: management/webserver/pkg/fvm/fsl/target.go type Target (line 7) | type Target struct method String (line 25) | func (t *Target) String() string { method Create (line 29) | func (t *Target) Create() string { function NewTarget (line 13) | func NewTarget(id string, typ string, args string) *Target { function NewSkynetTarget (line 21) | func NewSkynetTarget(id, configJSONStr string) *Target { function CreateTarget (line 33) | func CreateTarget(id, configJSONStr string) string { FILE: management/webserver/pkg/fvm/fvm.go constant OutputItemTable (line 35) | OutputItemTable int = 0 constant OutputItemSelector (line 36) | OutputItemSelector int = 1 constant OutputItemTarget (line 37) | OutputItemTarget int = 2 type FVM (line 41) | type FVM struct method Update (line 113) | func (f *FVM) Update(upd *FVMUpdate) error { method Compile (line 124) | func (f *FVM) Compile(text string, re []byte) (*FVMOutput, *FVMRe, err... method Plot (line 154) | func (f *FVM) Plot() string { method Dump (line 161) | func (f *FVM) Dump() *FVMUpdate { method Release (line 165) | func (f *FVM) Release() { method PushFsl (line 185) | func (f *FVM) PushFsl(server string, update *FVMUpdate) error { type FVMUpdate (line 47) | type FVMUpdate struct method ToBytes (line 62) | func (u *FVMUpdate) ToBytes() []byte { method FromBytes (line 66) | func (u *FVMUpdate) FromBytes(out []byte) error { method MergeUpdate (line 75) | func (u *FVMUpdate) MergeUpdate(patch *FVMUpdate) error { method Release (line 85) | func (u *FVMUpdate) Release() { type FVMRe (line 51) | type FVMRe struct method ToBytes (line 89) | func (r *FVMRe) ToBytes() []byte { method FromBytes (line 93) | func (r *FVMRe) FromBytes(o []byte) { function maybePointer (line 55) | func maybePointer(array []byte) unsafe.Pointer { type FVMOutput (line 97) | type FVMOutput struct function New (line 102) | func New() (*FVM, error) { function Serialize (line 169) | func Serialize(out *FVMOutput, diff bool, base int64, target int64) *FVM... function ReleaseOutput (line 181) | func ReleaseOutput(out *FVMOutput) { type upload (line 244) | type upload struct method Read (line 250) | func (u *upload) Read(p []byte) (n int, err error) { FILE: management/webserver/pkg/fvm/generator.go constant Main (line 21) | Main = "main" constant Preprocess (line 22) | Preprocess = "preprocess" constant MassPackage (line 23) | MassPackage = "mass_package" constant PolicyRule (line 24) | PolicyRule = "policy_rule" constant PolicyRuleGlobal (line 25) | PolicyRuleGlobal = "policy_rule_global" constant PolicyGroup (line 26) | PolicyGroup = "policy_group" constant PolicyGroupDetect (line 27) | PolicyGroupDetect = "policy_group_detect" constant WeblogGenerate (line 28) | WeblogGenerate = "weblog_generate" constant ReqWeblogGenerate (line 29) | ReqWeblogGenerate = "req_weblog_generate" constant RspWeblogGenerate (line 30) | RspWeblogGenerate = "rsp_weblog_generate" constant CommonLog (line 31) | CommonLog = "common_log" constant STR (line 33) | STR = "STRING" constant INT (line 34) | INT = "INTEGER" constant INET (line 35) | INET = "INET" constant BOOL (line 36) | BOOL = "BOOLEAN" function InitFVMBytecode (line 41) | func InitFVMBytecode() { function PushFSL (line 53) | func PushFSL(tx *gorm.DB) error { function GenerateFullFSL (line 67) | func GenerateFullFSL(tx *gorm.DB) (fullFSL string, err error) { function PreprocessTable (line 97) | func PreprocessTable(db *gorm.DB) (pFSL string, err error) { function MassPackageTable (line 134) | func MassPackageTable() (mpFSL string) { function PolicyRuleTable (line 147) | func PolicyRuleTable(db *gorm.DB) (prFSL string, err error) { function PolicyGroupTable (line 239) | func PolicyGroupTable(db *gorm.DB) (pgFSL string, err error) { function CommonLogTable (line 268) | func CommonLogTable() (clFSL string) { function ReqWeblogGenerateTable (line 277) | func ReqWeblogGenerateTable() (reqWGFSL string) { function RspWeblogGenerateTable (line 288) | func RspWeblogGenerateTable() (rspWGFSL string) { function WeblogGenerateTable (line 299) | func WeblogGenerateTable() (wgFSL string) { function MainTable (line 309) | func MainTable() (mainFSL string) { FILE: management/webserver/pkg/fvm/helper.go function init (line 11) | func init() { function CompileAndSave (line 19) | func CompileAndSave(text string) error { function CompileAndPush (line 37) | func CompileAndPush(text, serverAddr string) error { FILE: management/webserver/pkg/log/log.go function GetLogger (line 16) | func GetLogger(name string) *log.Logger { function LoadLogLevel (line 20) | func LoadLogLevel() { function SetLogFormatter (line 25) | func SetLogFormatter() { function InitLogger (line 33) | func InitLogger() error { type RuntimeHook (line 70) | type RuntimeHook struct method Levels (line 72) | func (h *RuntimeHook) Levels() []logrus.Level { method Fire (line 76) | func (h *RuntimeHook) Fire(entry *logrus.Entry) error { function NewRuntimeHook (line 115) | func NewRuntimeHook() *RuntimeHook { FILE: management/webserver/pkg/telemetry.go type WebsiteResult (line 14) | type WebsiteResult struct type TelemetryInfo (line 19) | type TelemetryInfo struct type SafelineInfo (line 23) | type SafelineInfo struct type TelemetryRequest (line 41) | type TelemetryRequest struct function GetUploadTimestamp (line 46) | func GetUploadTimestamp() string { function GetUploadNonce (line 52) | func GetUploadNonce() string { function DoPostTelemetry (line 58) | func DoPostTelemetry(client *http.Client, addr string, reader io.Reader)... FILE: management/webserver/rpc/main.go constant WaitRspTimeout (line 16) | WaitRspTimeout = 30 * time.Second constant KeepaliveTime (line 17) | KeepaliveTime = 5 * time.Second constant KeepaliveTimeout (line 18) | KeepaliveTimeout = 30 * time.Second constant Ping (line 20) | Ping = "ping" constant Pong (line 21) | Pong = "pong" constant EventTypeWebsite (line 22) | EventTypeWebsite = "website" constant EventTypeDeleteWebsite (line 23) | EventTypeDeleteWebsite = "deleteWebsite" constant EventTypeFullWebsite (line 24) | EventTypeFullWebsite = "fullWebsite" function StartGRPCSever (line 29) | func StartGRPCSever() error { FILE: management/webserver/rpc/website.go function Publish (line 19) | func Publish(msg []byte, eventType string) error { type StreamClient (line 57) | type StreamClient struct method pingLoop (line 75) | func (sc *StreamClient) pingLoop() { method recvLoop (line 102) | func (sc *StreamClient) recvLoop() { function newStreamClient (line 65) | func newStreamClient(stream pb.Website_SubscribeServer) *StreamClient { type WebsiteServer (line 134) | type WebsiteServer struct method Subscribe (line 155) | func (ws *WebsiteServer) Subscribe(stream pb.Website_SubscribeServer) ... function GetWebsiteServer (line 138) | func GetWebsiteServer() *WebsiteServer { function publishFullWebsite (line 142) | func publishFullWebsite() error { FILE: management/webserver/utils/cert.go function GenerateCert (line 15) | func GenerateCert(hostnames []string, days int64, keyBits int, subject *... function WriteCertIfNotExist (line 72) | func WriteCertIfNotExist(certFilePath, keyFilePath string, generator fun... function genCertIfNotExist (line 89) | func genCertIfNotExist(certFilePath, keyFilePath string, generator func(... FILE: management/webserver/utils/file.go function EnsureDir (line 10) | func EnsureDir(dir string) error { function EnsureFileDir (line 17) | func EnsureFileDir(path string) error { function FileExist (line 21) | func FileExist(path string) (bool, error) { function FilesExist (line 38) | func FilesExist(paths ...string) (bool, error) { function RenameWriteFile (line 51) | func RenameWriteFile(filename string, data []byte, perm os.FileMode) err... function EnsureRenameWriteFile (line 59) | func EnsureRenameWriteFile(path string, data []byte, mode os.FileMode) e... function EnsureWriteFile (line 68) | func EnsureWriteFile(path string, data []byte, mode os.FileMode) error { FILE: management/webserver/utils/healthy.go function CheckHealthy (line 8) | func CheckHealthy(url string) bool { function CheckWafHealthy (line 28) | func CheckWafHealthy() bool { FILE: management/webserver/utils/httpclient.go constant proxyName (line 11) | proxyName = "HTTPS_PROXY" function GetHTTPClient (line 15) | func GetHTTPClient() *http.Client { FILE: management/webserver/utils/random.go function RandStr (line 10) | func RandStr(n int) string { FILE: management/webserver/utils/url.go function IsIPv6 (line 11) | func IsIPv6(str string) bool { function BuildUrl (line 16) | func BuildUrl(protocol int, host string, port uint, path string) string { FILE: mcp_server/internal/api/analyze/get_event_list.go type GetEventListRequest (line 10) | type GetEventListRequest struct type GetEventListResponse (line 18) | type GetEventListResponse struct type Event (line 23) | type Event struct function GetEventList (line 40) | func GetEventList(ctx context.Context, req *GetEventListRequest) (*GetEv... FILE: mcp_server/internal/api/app/create_application.go type CreateAppRequest (line 10) | type CreateAppRequest struct function CreateApp (line 18) | func CreateApp(ctx context.Context, req *CreateAppRequest) (int64, error) { FILE: mcp_server/internal/api/client.go type Client (line 18) | type Client struct method Request (line 82) | func (c *Client) Request(ctx context.Context, method, path string, bod... method Get (line 140) | func (c *Client) Get(ctx context.Context, path string, result interfac... method Post (line 145) | func (c *Client) Post(ctx context.Context, path string, body interface... method Put (line 150) | func (c *Client) Put(ctx context.Context, path string, body interface{... method Delete (line 155) | func (c *Client) Delete(ctx context.Context, path string, result inter... type ClientOption (line 25) | type ClientOption function WithTimeout (line 28) | func WithTimeout(timeout time.Duration) ClientOption { function WithHeader (line 35) | func WithHeader(key, value string) ClientOption { function WithBaseURL (line 42) | func WithBaseURL(baseURL string) ClientOption { function WithInsecureSkipVerify (line 49) | func WithInsecureSkipVerify(skip bool) ClientOption { function NewClient (line 61) | func NewClient(opts ...ClientOption) *Client { FILE: mcp_server/internal/api/response.go type Response (line 4) | type Response struct FILE: mcp_server/internal/api/rule/create_rule.go type CreateRuleRequest (line 10) | type CreateRuleRequest struct function CreateRule (line 19) | func CreateRule(ctx context.Context, req *CreateRuleRequest) (int64, err... FILE: mcp_server/internal/api/service.go type APIClient (line 14) | type APIClient struct method Post (line 83) | func (c *APIClient) Post(ctx context.Context, path string, body interf... method Get (line 88) | func (c *APIClient) Get(ctx context.Context, path string, result inter... method Put (line 93) | func (c *APIClient) Put(ctx context.Context, path string, body interfa... method Delete (line 98) | func (c *APIClient) Delete(ctx context.Context, path string, result in... function Init (line 25) | func Init(cfg *config.APIConfig) error { function Service (line 39) | func Service() *APIClient { function newAPIClient (line 48) | func newAPIClient(config *config.APIConfig) (*APIClient, error) { FILE: mcp_server/internal/api/types.go type PolicyRuleAction (line 3) | type PolicyRuleAction constant PolicyRuleActionAllow (line 6) | PolicyRuleActionAllow PolicyRuleAction = iota constant PolicyRuleActionDeny (line 7) | PolicyRuleActionDeny constant PolicyRuleActionMax (line 8) | PolicyRuleActionMax constant KeySrcIP (line 14) | KeySrcIP Key = "src_ip" constant KeyURI (line 15) | KeyURI Key = "uri" constant KeyURINoQuery (line 16) | KeyURINoQuery Key = "uri_no_query" constant KeyHost (line 17) | KeyHost Key = "host" constant KeyMethod (line 18) | KeyMethod Key = "method" constant KeyReqHeader (line 19) | KeyReqHeader Key = "req_header" constant KeyReqBody (line 20) | KeyReqBody Key = "req_body" constant KeyGetParam (line 21) | KeyGetParam Key = "get_param" constant KeyPostParam (line 22) | KeyPostParam Key = "post_param" constant OpEq (line 28) | OpEq Op = "eq" constant OpNotEq (line 29) | OpNotEq Op = "not_eq" constant OpMatch (line 30) | OpMatch Op = "match" constant OpCIDR (line 31) | OpCIDR Op = "cidr" constant OpHas (line 32) | OpHas Op = "has" constant OpNotHas (line 33) | OpNotHas Op = "not_has" constant OpPrefix (line 34) | OpPrefix Op = "prefix" constant OpRe (line 35) | OpRe Op = "re" constant OpIn (line 36) | OpIn Op = "in" constant OpNotIn (line 37) | OpNotIn Op = "not_in" constant OpNotCIDR (line 38) | OpNotCIDR Op = "not_cidr" constant OpExist (line 39) | OpExist Op = "exist" constant OpNotExist (line 40) | OpNotExist Op = "not_exist" constant OpGeoEq (line 41) | OpGeoEq Op = "geo_eq" constant OpGeoNotEq (line 42) | OpGeoNotEq Op = "geo_not_eq" type Pattern (line 45) | type Pattern struct FILE: mcp_server/internal/config/config.go type Config (line 12) | type Config struct type APIConfig (line 19) | type APIConfig struct type ServerConfig (line 33) | type ServerConfig struct type LoggerConfig (line 42) | type LoggerConfig struct function getEnvString (line 53) | func getEnvString(key, defaultValue string) string { function getEnvInt (line 61) | func getEnvInt(key string, defaultValue int) int { function Load (line 71) | func Load(path string) error { function GetServer (line 97) | func GetServer() *ServerConfig { function GetLogger (line 105) | func GetLogger() *LoggerConfig { function GetAPI (line 113) | func GetAPI() *APIConfig { FILE: mcp_server/internal/tools/analyze/get_atttack_events.go type GetAttackEventsParams (line 10) | type GetAttackEventsParams struct type GetAttackEvents (line 18) | type GetAttackEvents struct method Name (line 20) | func (t *GetAttackEvents) Name() string { method Description (line 24) | func (t *GetAttackEvents) Description() string { method Validate (line 28) | func (t *GetAttackEvents) Validate(params GetAttackEventsParams) error { method Execute (line 32) | func (t *GetAttackEvents) Execute(ctx context.Context, params GetAttac... FILE: mcp_server/internal/tools/app/create_application.go type CreateApp (line 10) | type CreateApp struct method Name (line 18) | func (t *CreateApp) Name() string { method Description (line 22) | func (t *CreateApp) Description() string { method Validate (line 26) | func (t *CreateApp) Validate(params CreateAppParams) error { method Execute (line 30) | func (t *CreateApp) Execute(ctx context.Context, params CreateAppParam... type CreateAppParams (line 12) | type CreateAppParams struct FILE: mcp_server/internal/tools/example.go type CalculateSum (line 10) | type CalculateSum struct method Name (line 12) | func (t *CalculateSum) Name() string { method Description (line 16) | func (t *CalculateSum) Description() string { method Validate (line 29) | func (t *CalculateSum) Validate(params MyToolInput) error { method Execute (line 33) | func (t *CalculateSum) Execute(ctx context.Context, params MyToolInput... type MyToolInput (line 20) | type MyToolInput struct type MyToolOutput (line 25) | type MyToolOutput struct FILE: mcp_server/internal/tools/init.go function init (line 9) | func init() { FILE: mcp_server/internal/tools/rule/create_blacklist_rule.go type CreateBlacklistRule (line 11) | type CreateBlacklistRule struct method Name (line 19) | func (t *CreateBlacklistRule) Name() string { method Description (line 23) | func (t *CreateBlacklistRule) Description() string { method Validate (line 27) | func (t *CreateBlacklistRule) Validate(params CreateBlacklistRuleParam... method Execute (line 31) | func (t *CreateBlacklistRule) Execute(ctx context.Context, params Crea... type CreateBlacklistRuleParams (line 13) | type CreateBlacklistRuleParams struct FILE: mcp_server/internal/tools/rule/create_whitelist_rule.go type CreateWhitelistRule (line 11) | type CreateWhitelistRule struct method Name (line 19) | func (t *CreateWhitelistRule) Name() string { method Description (line 23) | func (t *CreateWhitelistRule) Description() string { method Validate (line 27) | func (t *CreateWhitelistRule) Validate(params CreateWhitelistRuleParam... method Execute (line 31) | func (t *CreateWhitelistRule) Execute(ctx context.Context, params Crea... type CreateWhitelistRuleParams (line 13) | type CreateWhitelistRuleParams struct FILE: mcp_server/internal/tools/tool.go type ToolWrapper (line 13) | type ToolWrapper interface function AppendTool (line 21) | func AppendTool[T any, R any](tool ...mcp.Tool[T, R]) { function Tools (line 27) | func Tools() []ToolWrapper { type toolWrapper (line 31) | type toolWrapper struct method Register (line 35) | func (w *toolWrapper[T, R]) Register(s *mcp.MCPServer) error { FILE: mcp_server/main.go function main (line 14) | func main() { FILE: mcp_server/pkg/config/config.go type Config (line 10) | type Config struct type ServerConfig (line 16) | type ServerConfig struct type LoggerConfig (line 25) | type LoggerConfig struct function Load (line 38) | func Load(filename string) error { function Get (line 54) | func Get() *Config { function GetServer (line 59) | func GetServer() ServerConfig { function GetLogger (line 67) | func GetLogger() LoggerConfig { FILE: mcp_server/pkg/errors/errors.go type Error (line 23) | type Error struct method Error (line 31) | func (e *Error) Error() string { method Unwrap (line 39) | func (e *Error) Unwrap() error { method Stack (line 50) | func (e *Error) Stack() []string { method Location (line 55) | func (e *Error) Location() string { function getCallerLocation (line 60) | func getCallerLocation(skip int) string { function WrapL (line 69) | func WrapL(err error, msg string) error { function Is (line 109) | func Is(err, target error) bool { function As (line 114) | func As(err error, target interface{}) bool { function Wrap (line 119) | func Wrap(err error, msg string) error { function New (line 131) | func New(text string) error { FILE: mcp_server/pkg/logger/field.go function String (line 12) | func String(key string, val string) Field { function Int (line 17) | func Int(key string, val int) Field { function Int64 (line 22) | func Int64(key string, val int64) Field { function Float64 (line 27) | func Float64(key string, val float64) Field { function Bool (line 32) | func Bool(key string, val bool) Field { function Err (line 37) | func Err(err error) Field { function Any (line 42) | func Any(key string, val interface{}) Field { function Duration (line 47) | func Duration(key string, val float64) Field { FILE: mcp_server/pkg/logger/logger.go type Logger (line 14) | type Logger struct method With (line 139) | func (l *Logger) With(key string, value interface{}) *Logger { method Debug (line 144) | func (l *Logger) Debug(msg string, fields ...Field) { method Info (line 149) | func (l *Logger) Info(msg string, fields ...Field) { method Warn (line 154) | func (l *Logger) Warn(msg string, fields ...Field) { method Error (line 159) | func (l *Logger) Error(msg string, fields ...Field) { method Fatal (line 164) | func (l *Logger) Fatal(msg string, fields ...Field) { type Config (line 24) | type Config struct function Init (line 47) | func Init(cfg *Config) error { function GetLogger (line 131) | func GetLogger() *Logger { function With (line 171) | func With(key string, value interface{}) *Logger { function Debug (line 178) | func Debug(msg string, fields ...Field) { function Info (line 184) | func Info(msg string, fields ...Field) { function Warn (line 190) | func Warn(msg string, fields ...Field) { function Error (line 196) | func Error(msg string, fields ...Field) { function Fatal (line 202) | func Fatal(msg string, fields ...Field) { FILE: mcp_server/pkg/mcp/mcp.go type Tool (line 17) | type Tool interface type SSEServer (line 27) | type SSEServer struct method Start (line 32) | func (s *SSEServer) Start(addr string) error { method ServeHTTP (line 40) | func (s *SSEServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { type MCPServer (line 56) | type MCPServer struct method Start (line 73) | func (s *MCPServer) Start(addr string) error { function NewMCPServer (line 61) | func NewMCPServer(name, version string, secret string) *MCPServer { function handleToolCall (line 77) | func handleToolCall[T any, R any](ctx context.Context, request mcp.CallT... function RegisterTool (line 124) | func RegisterTool[T any, R any](s *MCPServer, tool Tool[T, R]) error { FILE: mcp_server/pkg/mcp/schema.go function SchemaToOptions (line 13) | func SchemaToOptions(schema any) ([]mcp.ToolOption, error) { FILE: mcp_server/pkg/mcp/schema_test.go function TestSchemaToOptions (line 10) | func TestSchemaToOptions(t *testing.T) { FILE: scripts/manage.py function parse_assets (line 461) | def parse_assets(args): function init_global_config (line 496) | def init_global_config(): class log (line 531) | class log(): method _log (line 533) | def _log(c, l, s): method debug (line 538) | def debug(s): method info (line 543) | def info(s): method warning (line 547) | def warning(s): method error (line 551) | def error(s): method fatal (line 555) | def fatal(s): function text (line 559) | def text(label, var=()): function color (line 566) | def color(t, attrs=[], end=True): function banner (line 574) | def banner(): function get_url (line 586) | def get_url(url): function ui_read (line 594) | def ui_read(question, default): function ui_choice (line 612) | def ui_choice(question, options): function humen_size (line 621) | def humen_size(x): function rand_subnet (line 633) | def rand_subnet(): function free_space (line 660) | def free_space(path): function free_memory (line 671) | def free_memory(): function exec_command (line 675) | def exec_command(*args,shell=False): function exec_command_with_loading (line 683) | def exec_command_with_loading(*args, cwd=None, env=None): function subprocess_output (line 706) | def subprocess_output(stdout): function start_docker (line 712) | def start_docker(): function check_port (line 715) | def check_port(port): function install_docker (line 727) | def install_docker(): function precheck_docker_compose (line 757) | def precheck_docker_compose(): function precheck_dns_scope (line 803) | def precheck_dns_scope(): function precheck (line 836) | def precheck(): function docker_pull (line 878) | def docker_pull(cwd): function docker_restart (line 887) | def docker_restart(container): function docker_exec (line 896) | def docker_exec(container, command): function image_clean (line 905) | def image_clean(): function docker_up (line 911) | def docker_up(cwd): function docker_down (line 933) | def docker_down(cwd): function get_url_time (line 941) | def get_url_time(url): function get_avg_delay (line 954) | def get_avg_delay(url): function image_source (line 966) | def image_source(): function docker_source (line 986) | def docker_source(): function read_config (line 1002) | def read_config(path,config): function write_config (line 1016) | def write_config(path,config): function generate_config (line 1021) | def generate_config(path): function show_address (line 1085) | def show_address(mgt_port): function init_mgt (line 1092) | def init_mgt(): function check_install_path (line 1109) | def check_install_path(safeline_path): function install (line 1124) | def install(): function get_installed_dir (line 1181) | def get_installed_dir(): function save_file_from_url (line 1195) | def save_file_from_url(url, path): function rename_file (line 1204) | def rename_file(src, dst): function remove_file (line 1208) | def remove_file(src): function generate_config_and_run (line 1212) | def generate_config_and_run(safeline_path): function upgrade (line 1243) | def upgrade(): function finish (line 1266) | def finish(mgt_port): function reset_tengine (line 1270) | def reset_tengine(): function docker_restart_all (line 1297) | def docker_restart_all(cwd): function reset_postgres (line 1308) | def reset_postgres(): function repair (line 1340) | def repair(): function restart (line 1351) | def restart(): function backup (line 1363) | def backup(): function uninstall (line 1366) | def uninstall(): function get_version_from_input (line 1397) | def get_version_from_input(old_version): function check_version_format (line 1408) | def check_version_format(version): function compare_version (line 1424) | def compare_version(old_version, new_version): function get_version_from_mgt (line 1456) | def get_version_from_mgt(): function get_version (line 1470) | def get_version(old_version): function main (line 1501) | def main(): FILE: yanshi/src/common.cc function output_error (line 53) | void output_error(bool use_err, const char *format, va_list ap) function err_msg (line 67) | void err_msg(const char *format, ...) function err_exit (line 78) | void err_exit(int exitno, const char *format, ...) function get_long (line 100) | long get_long(const char *arg) function log_generic (line 115) | void log_generic(const char *prefix, const char *format, va_list ap) function log_event (line 131) | void log_event(const char *format, ...) function log_action (line 139) | void log_action(const char *format, ...) function log_status (line 147) | void log_status(const char *format, ...) function bold (line 155) | void bold(long fd) { if (isatty(fd)) fputs("\x1b[1m", fd == STDOUT_FILEN... function blue (line 156) | void blue(long fd) { if (isatty(fd)) fputs(BLUE, fd == STDOUT_FILENO ? s... function cyan (line 157) | void cyan(long fd) { if (isatty(fd)) fputs(CYAN, fd == STDOUT_FILENO ? s... function green (line 158) | void green(long fd) { if (isatty(fd)) fputs(GREEN, fd == STDOUT_FILENO ?... function magenta (line 159) | void magenta(long fd) { if (isatty(fd)) fputs(MAGENTA, fd == STDOUT_FILE... function red (line 160) | void red(long fd) { if (isatty(fd)) fputs(RED, fd == STDOUT_FILENO ? std... function sgr0 (line 161) | void sgr0(long fd) { if (isatty(fd)) fputs(SGR0, fd == STDOUT_FILENO ? s... function yellow (line 162) | void yellow(long fd) { if (isatty(fd)) fputs(YELLOW, fd == STDOUT_FILENO... function normal_yellow (line 163) | void normal_yellow(long fd) { if (isatty(fd)) fputs(NORMAL_YELLOW, fd ==... function indent (line 165) | void indent(FILE* f, int d) FILE: yanshi/src/common.hh function emplace_front (line 85) | void emplace_front(vector& a, Args&&... args) function sorted_insert (line 91) | void sorted_insert(vector& a, const T& x) function sorted_emplace (line 101) | void sorted_emplace(vector& a, Args&&... args) type DisjointIntervals (line 111) | struct DisjointIntervals method emplace (line 116) | void emplace(Args&&... args) { FILE: yanshi/src/compiler.cc function print_assoc (line 19) | void print_assoc(const FsaAnno& anno) function print_automaton (line 46) | void print_automaton(const Fsa& fsa) function Expr (line 71) | Expr* find_lca(Expr* u, Expr* v) type Compiler (line 88) | struct Compiler : Visitor { method pre_expr (line 93) | void pre_expr(Expr& expr) { method post_expr (line 105) | void post_expr(Expr& expr) { method visit (line 113) | void visit(Expr& expr) override { method visit (line 118) | void visit(BracketExpr& expr) override { method visit (line 121) | void visit(CallExpr& expr) override { method visit (line 124) | void visit(CollapseExpr& expr) override { method visit (line 127) | void visit(ComplementExpr& expr) override { method visit (line 131) | void visit(ConcatExpr& expr) override { method visit (line 137) | void visit(DifferenceExpr& expr) override { method visit (line 143) | void visit(DotExpr& expr) override { method visit (line 146) | void visit(EmbedExpr& expr) override { method visit (line 149) | void visit(EpsilonExpr& expr) override { method visit (line 152) | void visit(IntersectExpr& expr) override { method visit (line 158) | void visit(LiteralExpr& expr) override { method visit (line 161) | void visit(PlusExpr& expr) override { method visit (line 165) | void visit(QuestionExpr& expr) override { method visit (line 169) | void visit(RepeatExpr& expr) override { method visit (line 173) | void visit(StarExpr& expr) override { method visit (line 177) | void visit(UnionExpr& expr) override { function compile (line 185) | void compile(DefineStmt* stmt) function generate_transitions (line 198) | void generate_transitions(DefineStmt* stmt) function compile_export (line 411) | bool compile_export(DefineStmt* stmt) function generate_graphviz (line 618) | void generate_graphviz(Module* mo) function generate_final (line 677) | static void generate_final(const char* name, const vector& final) function generate_cxx_export (line 704) | static void generate_cxx_export(DefineStmt* stmt) function generate_cxx (line 749) | void generate_cxx(Module* mo) FILE: yanshi/src/fsa.cc type std (line 18) | namespace std type hash> (line 21) | struct hash> { function Fsa (line 92) | Fsa Fsa::operator~() const function Fsa (line 229) | Fsa Fsa::difference(const Fsa& rhs, function relate) const function Fsa (line 274) | Fsa Fsa::intersect(const Fsa& rhs, function relate) const function Fsa (line 315) | Fsa Fsa::determinize(const vector* starts, function&)> relate) const FILE: yanshi/src/fsa.hh type Fsa (line 14) | struct Fsa { method n (line 20) | long n() const { return adj.size(); } FILE: yanshi/src/fsa_anno.cc function assoc_has_expr (line 19) | bool assoc_has_expr(vector>& as, Expr* x) function sort_assoc (line 25) | void sort_assoc(vector>& as) function FsaAnno (line 185) | FsaAnno FsaAnno::epsilon_fsa(EpsilonExpr* expr) { function FsaAnno (line 339) | FsaAnno FsaAnno::bracket(BracketExpr& expr) { function FsaAnno (line 352) | FsaAnno FsaAnno::call(CallExpr& expr) { function FsaAnno (line 366) | FsaAnno FsaAnno::collapse(CollapseExpr& expr) { function FsaAnno (line 380) | FsaAnno FsaAnno::dot(DotExpr* expr) { function FsaAnno (line 393) | FsaAnno FsaAnno::embed(EmbedExpr& expr) { function FsaAnno (line 425) | FsaAnno FsaAnno::literal(LiteralExpr& expr) { function REP (line 456) | REP(i, src) { FILE: yanshi/src/fsa_anno.hh type ExprTag (line 5) | enum class ExprTag { function has_start (line 11) | extern inline bool has_start(ExprTag x) { return long(x) & long(ExprTag:... function has_inner (line 12) | extern inline bool has_inner(ExprTag x) { return long(x) & long(ExprTag:... function has_final (line 13) | extern inline bool has_final(ExprTag x) { return long(x) & long(ExprTag:... type FsaAnno (line 18) | struct FsaAnno { FILE: yanshi/src/loader.cc function print_module_info (line 28) | void print_module_info(Module& mo) function Stmt (line 45) | Stmt* resolve(Module& mo, const string qualified, const string& ident) function ActionStmt (line 76) | ActionStmt* resolve_action(Module& mo, const string qualified, const str... type ModuleImportDef (line 98) | struct ModuleImportDef : PreorderStmtVisitor { method ModuleImportDef (line 101) | ModuleImportDef(Module& mo, long& n_errors) : mo(mo), n_errors(n_error... method visit (line 103) | void visit(ActionStmt& stmt) override { method visit (line 111) | void visit(DefineStmt& stmt) override { method visit (line 121) | void visit(ImportStmt& stmt) override { method visit (line 133) | void visit(PreprocessDefineStmt& stmt) override { type ModuleUse (line 142) | struct ModuleUse : PrePostActionExprStmtVisitor { method ModuleUse (line 146) | ModuleUse(Module& mo, long& n_errors) : mo(mo), n_errors(n_errors) {} method pre_expr (line 148) | void pre_expr(Expr& expr) override { method post_expr (line 152) | void post_expr(Expr& expr) override { method visit (line 163) | void visit(RefAction& action) override { method visit (line 178) | void visit(BracketExpr& expr) override { method visit (line 182) | void visit(CallExpr& expr) override { method visit (line 196) | void visit(CollapseExpr& expr) override { method visit (line 210) | void visit(DefineStmt& stmt) override { method visit (line 215) | void visit(EmbedExpr& expr) override { method error_undefined (line 235) | void error_undefined(const Location& loc, const string& qualified, con... method error_ambiguous (line 242) | void error_ambiguous(const Location& loc, const string& ident) { method error_misuse_macro (line 246) | void error_misuse_macro(const char* name, const Location& loc, const s... function Module (line 255) | Module* load_module(long& n_errors, const string& filename) function topo_define_stmts (line 314) | static vector topo_define_stmts(long& n_errors) function load (line 366) | long load(const string& filename) function unload_all (line 550) | void unload_all() FILE: yanshi/src/loader.hh type ModuleStatus (line 15) | enum ModuleStatus { UNPROCESSED = 0, BAD, GOOD } type Module (line 17) | struct Module { FILE: yanshi/src/location.cc function FOR (line 35) | FOR(i, linemap[line1], linemap[line1+1]) { function FOR (line 41) | FOR(i, linemap[line1+1], linemap[line2]) { function FOR (line 47) | FOR(i, linemap[line1+1], linemap[line1+4]) { function FOR (line 53) | FOR(i, linemap[line2-3], linemap[line2]) { FILE: yanshi/src/location.hh type Location (line 8) | struct Location { long start, end; } type LocationFile (line 10) | struct LocationFile { method LocationFile (line 14) | LocationFile() = default; method LocationFile (line 16) | LocationFile& operator=(const LocationFile&) = default; method error_context (line 23) | void error_context(const Location& loc, const char* fmt, Args&&... arg... method warning_context (line 28) | void warning_context(const Location& loc, const char* fmt, Args&&... a... FILE: yanshi/src/main.cc function print_help (line 17) | void print_help(FILE *fh) function main (line 50) | int main(int argc, char *argv[]) FILE: yanshi/src/option.hh type Mode (line 11) | enum class Mode {cxx, graphviz, interactive} FILE: yanshi/src/repl.cc type ReplMode (line 24) | enum class ReplMode {string, integer} type Command (line 29) | struct Command function run_command (line 159) | static void run_command(char* line) function repl (line 184) | void repl(DefineStmt* stmt) FILE: yanshi/src/syntax.cc function stmt_free (line 3) | void stmt_free(Stmt* stmt) FILE: yanshi/src/syntax.hh type Visitor (line 19) | struct Visitor type VisitableBase (line 22) | struct VisitableBase { type Visitable (line 27) | struct Visitable : Base { method accept (line 28) | void accept(Visitor& visitor) override { type Action (line 33) | struct Action type InlineAction (line 34) | struct InlineAction method InlineAction (line 108) | InlineAction(string& code) : code(move(code)) {} type RefAction (line 35) | struct RefAction method RefAction (line 115) | RefAction(string& qualified, string& ident) : qualified(move(qualified... type Visitor (line 37) | struct Visitor { type Expr (line 43) | struct Expr method string (line 136) | string name() const { method no_action (line 146) | bool no_action() const { type BracketExpr (line 44) | struct BracketExpr method BracketExpr (line 153) | BracketExpr(DisjointIntervals* intervals) : intervals(std::move(*inter... type CallExpr (line 45) | struct CallExpr method CallExpr (line 159) | CallExpr(string& qualified, string& ident) : qualified(move(qualified)... type CollapseExpr (line 46) | struct CollapseExpr method CollapseExpr (line 165) | CollapseExpr(string& qualified, string& ident) : qualified(move(qualif... type ComplementExpr (line 47) | struct ComplementExpr method ComplementExpr (line 170) | ComplementExpr(Expr* inner) : inner(inner) {} type ConcatExpr (line 48) | struct ConcatExpr method ConcatExpr (line 178) | ConcatExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type DifferenceExpr (line 49) | struct DifferenceExpr method DifferenceExpr (line 187) | DifferenceExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type DotExpr (line 50) | struct DotExpr type EmbedExpr (line 51) | struct EmbedExpr method EmbedExpr (line 200) | EmbedExpr(string& qualified, string& ident) : qualified(move(qualified... type EpsilonExpr (line 52) | struct EpsilonExpr type IntersectExpr (line 53) | struct IntersectExpr method IntersectExpr (line 207) | IntersectExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type LiteralExpr (line 54) | struct LiteralExpr method LiteralExpr (line 216) | LiteralExpr(string& literal) : literal(move(literal)) {} type PlusExpr (line 55) | struct PlusExpr method PlusExpr (line 221) | PlusExpr(Expr* inner) : inner(inner) {} type RepeatExpr (line 56) | struct RepeatExpr method RepeatExpr (line 230) | RepeatExpr(Expr* inner, long low, long high) : inner(inner), low(low),... type QuestionExpr (line 57) | struct QuestionExpr method QuestionExpr (line 238) | QuestionExpr(Expr* inner) : inner(inner) {} type StarExpr (line 58) | struct StarExpr method StarExpr (line 246) | StarExpr(Expr* inner) : inner(inner) {} type UnionExpr (line 59) | struct UnionExpr method UnionExpr (line 254) | UnionExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type Visitor (line 61) | struct Visitor { type Stmt (line 81) | struct Stmt type ActionStmt (line 82) | struct ActionStmt method ActionStmt (line 274) | ActionStmt(string& ident, string& code) : ident(move(ident)), code(mov... type CppStmt (line 83) | struct CppStmt method CppStmt (line 279) | CppStmt(string& code) : code(move(code)) {} type DefineStmt (line 84) | struct DefineStmt method DefineStmt (line 287) | DefineStmt(string& lhs, Expr* rhs) : lhs(move(lhs)), rhs(rhs) {} type EmptyStmt (line 85) | struct EmptyStmt type ImportStmt (line 86) | struct ImportStmt method ImportStmt (line 295) | ImportStmt(string& filename, string& qualified) : filename(move(filena... type PreprocessDefineStmt (line 87) | struct PreprocessDefineStmt method PreprocessDefineStmt (line 301) | PreprocessDefineStmt(string& ident, long value) : ident(move(ident)), ... type Visitor (line 89) | struct Visitor { type Action (line 101) | struct Action : VisitableBase { type InlineAction (line 106) | struct InlineAction : Visitable { method InlineAction (line 108) | InlineAction(string& code) : code(move(code)) {} type Module (line 111) | struct Module type RefAction (line 112) | struct RefAction : Visitable { method RefAction (line 115) | RefAction(string& qualified, string& ident) : qualified(move(qualified... type Expr (line 120) | struct Expr : VisitableBase { method string (line 136) | string name() const { method no_action (line 146) | bool no_action() const { type BracketExpr (line 151) | struct BracketExpr : Visitable { method BracketExpr (line 153) | BracketExpr(DisjointIntervals* intervals) : intervals(std::move(*inter... type CallExpr (line 156) | struct CallExpr : Visitable { method CallExpr (line 159) | CallExpr(string& qualified, string& ident) : qualified(move(qualified)... type CollapseExpr (line 162) | struct CollapseExpr : Visitable { method CollapseExpr (line 165) | CollapseExpr(string& qualified, string& ident) : qualified(move(qualif... type ComplementExpr (line 168) | struct ComplementExpr : Visitable { method ComplementExpr (line 170) | ComplementExpr(Expr* inner) : inner(inner) {} type ConcatExpr (line 176) | struct ConcatExpr : Visitable { method ConcatExpr (line 178) | ConcatExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type DifferenceExpr (line 185) | struct DifferenceExpr : Visitable { method DifferenceExpr (line 187) | DifferenceExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type DotExpr (line 194) | struct DotExpr : Visitable {} type EmbedExpr (line 196) | struct EmbedExpr : Visitable { method EmbedExpr (line 200) | EmbedExpr(string& qualified, string& ident) : qualified(move(qualified... type EpsilonExpr (line 203) | struct EpsilonExpr : Visitable {} type IntersectExpr (line 205) | struct IntersectExpr : Visitable { method IntersectExpr (line 207) | IntersectExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type LiteralExpr (line 214) | struct LiteralExpr : Visitable { method LiteralExpr (line 216) | LiteralExpr(string& literal) : literal(move(literal)) {} type PlusExpr (line 219) | struct PlusExpr : Visitable { method PlusExpr (line 221) | PlusExpr(Expr* inner) : inner(inner) {} type RepeatExpr (line 227) | struct RepeatExpr : Visitable { method RepeatExpr (line 230) | RepeatExpr(Expr* inner, long low, long high) : inner(inner), low(low),... type QuestionExpr (line 236) | struct QuestionExpr : Visitable { method QuestionExpr (line 238) | QuestionExpr(Expr* inner) : inner(inner) {} type StarExpr (line 244) | struct StarExpr : Visitable { method StarExpr (line 246) | StarExpr(Expr* inner) : inner(inner) {} type UnionExpr (line 252) | struct UnionExpr : Visitable { method UnionExpr (line 254) | UnionExpr(Expr* lhs, Expr* rhs) : lhs(lhs), rhs(rhs) {} type Stmt (line 263) | struct Stmt { type EmptyStmt (line 270) | struct EmptyStmt : Visitable {} type ActionStmt (line 272) | struct ActionStmt : Visitable { method ActionStmt (line 274) | ActionStmt(string& ident, string& code) : ident(move(ident)), code(mov... type CppStmt (line 277) | struct CppStmt : Visitable { method CppStmt (line 279) | CppStmt(string& code) : code(move(code)) {} type DefineStmt (line 282) | struct DefineStmt : Visitable { method DefineStmt (line 287) | DefineStmt(string& lhs, Expr* rhs) : lhs(move(lhs)), rhs(rhs) {} type ImportStmt (line 293) | struct ImportStmt : Visitable { method ImportStmt (line 295) | ImportStmt(string& filename, string& qualified) : filename(move(filena... type PreprocessDefineStmt (line 298) | struct PreprocessDefineStmt : Visitable { method PreprocessDefineStmt (line 301) | PreprocessDefineStmt(string& ident, long value) : ident(move(ident)), ... type StmtPrinter (line 308) | struct StmtPrinter : Visitor, Visitor, Visitor { method visit (line 311) | void visit(Action& action) override { method visit (line 314) | void visit(InlineAction& action) override { method visit (line 318) | void visit(RefAction& action) override { method visit (line 323) | void visit(Expr& expr) override { method visit (line 366) | void visit(BracketExpr& expr) override { method visit (line 373) | void visit(CallExpr& expr) override { method visit (line 381) | void visit(CollapseExpr& expr) override { method visit (line 389) | void visit(ComplementExpr& expr) override { method visit (line 395) | void visit(ConcatExpr& expr) override { method visit (line 402) | void visit(DifferenceExpr& expr) override { method visit (line 409) | void visit(DotExpr& expr) override { method visit (line 412) | void visit(EmbedExpr& expr) override { method visit (line 420) | void visit(EpsilonExpr& expr) override { method visit (line 423) | void visit(IntersectExpr& expr) override { method visit (line 430) | void visit(LiteralExpr& expr) override { method visit (line 434) | void visit(PlusExpr& expr) override { method visit (line 440) | void visit(RepeatExpr& expr) override { method visit (line 447) | void visit(QuestionExpr& expr) override { method visit (line 453) | void visit(StarExpr& expr) override { method visit (line 459) | void visit(UnionExpr& expr) override { method visit (line 467) | void visit(Stmt& stmt) override { method visit (line 470) | void visit(ActionStmt& stmt) override { method visit (line 475) | void visit(CppStmt& stmt) override { method visit (line 479) | void visit(DefineStmt& stmt) override { method visit (line 489) | void visit(EmptyStmt& stmt) override { method visit (line 492) | void visit(ImportStmt& stmt) override { method visit (line 498) | void visit(PreprocessDefineStmt& stmt) override { type PreorderStmtVisitor (line 506) | struct PreorderStmtVisitor : Visitor { method visit (line 507) | void visit(Stmt& stmt) override { stmt.accept(*this); } method visit (line 508) | void visit(ActionStmt& stmt) override {} method visit (line 509) | void visit(CppStmt& stmt) override {} method visit (line 510) | void visit(DefineStmt& stmt) override {} method visit (line 511) | void visit(EmptyStmt& stmt) override {} method visit (line 512) | void visit(ImportStmt& stmt) override {} method visit (line 513) | void visit(PreprocessDefineStmt&) override {} type PrePostActionExprStmtVisitor (line 516) | struct PrePostActionExprStmtVisitor : Visitor, Visitor, Vi... method pre_action (line 517) | virtual void pre_action(Action&) {} method post_action (line 518) | virtual void post_action(Action&) {} method pre_expr (line 519) | virtual void pre_expr(Expr&) {} method post_expr (line 520) | virtual void post_expr(Expr&) {} method pre_stmt (line 521) | virtual void pre_stmt(Stmt&) {} method post_stmt (line 522) | virtual void post_stmt(Stmt&) {} method visit (line 524) | void visit(Action& action) override { method visit (line 529) | void visit(InlineAction&) override {} method visit (line 530) | void visit(RefAction&) override {} method visit (line 532) | void visit(Expr& expr) override { method visit (line 537) | void visit(BracketExpr& expr) override {} method visit (line 538) | void visit(CallExpr& expr) override {} method visit (line 539) | void visit(CollapseExpr& expr) override {} method visit (line 540) | void visit(ComplementExpr& expr) override { visit(*expr.inner); } method visit (line 541) | void visit(ConcatExpr& expr) override { method visit (line 545) | void visit(DifferenceExpr& expr) override { method visit (line 549) | void visit(DotExpr& expr) override {} method visit (line 550) | void visit(EmbedExpr& expr) override {} method visit (line 551) | void visit(EpsilonExpr& expr) override {} method visit (line 552) | void visit(IntersectExpr& expr) override { method visit (line 556) | void visit(LiteralExpr& expr) override {} method visit (line 557) | void visit(PlusExpr& expr) override { visit(*expr.inner); } method visit (line 558) | void visit(RepeatExpr& expr) override { visit(*expr.inner); } method visit (line 559) | void visit(QuestionExpr& expr) override { visit(*expr.inner); } method visit (line 560) | void visit(StarExpr& expr) override { visit(*expr.inner); } method visit (line 561) | void visit(UnionExpr& expr) override { method visit (line 566) | void visit(Stmt& stmt) override { method visit (line 571) | void visit(ActionStmt& stmt) override {} method visit (line 572) | void visit(CppStmt& stmt) override {} method visit (line 573) | void visit(DefineStmt& stmt) override { stmt.rhs->accept(*this); } method visit (line 574) | void visit(EmptyStmt& stmt) override {} method visit (line 575) | void visit(ImportStmt& stmt) override {} method visit (line 576) | void visit(PreprocessDefineStmt&) override {} FILE: yanshi/unittest/determinize_test.cc function main (line 24) | int main(int argc, char *argv[]) FILE: yanshi/unittest/difference_test.cc function main (line 27) | int main(int argc, char *argv[]) FILE: yanshi/unittest/intersection_test.cc function main (line 27) | int main(int argc, char *argv[]) FILE: yanshi/unittest/minimize_test.cc function main (line 22) | int main(int argc, char *argv[]) FILE: yanshi/unittest/union_test.cc function main (line 29) | int main(int argc, char *argv[]) FILE: yanshi/unittest/unittest_helper.hh function Fsa (line 12) | static Fsa read_nfa() function Fsa (line 40) | static Fsa read_dfa() function print_fsa (line 55) | static void print_fsa(const Fsa& fsa)