+ registersearchterm(reg_nicksearch, "hostmask",hostmask_parse, 0, "The user's nick!user@host; \"hostmask real\" returns nick!user@host\rreal");
+ registersearchterm(reg_whowassearch, "hostmask",hostmask_parse, 0, "The user's nick!user@host; \"hostmask real\" returns nick!user@host\rreal");
+
+ registersearchterm(reg_nicksearch, "realname",realname_parse, 0, "User's current realname"); /* nick only */
+ registersearchterm(reg_whowassearch, "realname",realname_parse, 0, "User's current realname"); /* nick only */
+
+ registersearchterm(reg_nicksearch, "away",away_parse, 0, "User's current away message");
+ registersearchterm(reg_whowassearch, "away",away_parse, 0, "User's current away message");
+ registersearchterm(reg_nicksearch, "authname",authname_parse, 0, "User's current authname or false");
+ registersearchterm(reg_whowassearch, "authname",authname_parse, 0, "User's current authname or false");
+ registersearchterm(reg_nicksearch, "authts",authts_parse, 0, "User's Auth timestamp");
+ registersearchterm(reg_whowassearch, "authts",authts_parse, 0, "User's Auth timestamp");
+ registersearchterm(reg_nicksearch, "ident",ident_parse, 0, "User's current ident");
+ registersearchterm(reg_whowassearch, "ident",ident_parse, 0, "User's current ident");
+ registersearchterm(reg_nicksearch, "host",host_parse, 0, "User's host, allow \"host real\" to match real host");
+ registersearchterm(reg_whowassearch, "host",host_parse, 0, "User's host, allow \"host real\" to match real host");
+ registersearchterm(reg_nicksearch, "channel",channel_parse, 0, "Valid Channel Name to match users against"); /* nick only */
+ registersearchterm(reg_nicksearch, "timestamp",timestamp_parse, 0, "User's Timestamp");
+ registersearchterm(reg_whowassearch, "timestamp",timestamp_parse, 0, "User's Timestamp");
+ registersearchterm(reg_nicksearch, "country",country_parse, 0, "2 letter country code (data source is geoip)");
+ registersearchterm(reg_nicksearch, "ip",ip_parse, 0, "User's IP - ipv4 or ipv6 format as appropriate. Note: not 6to4");
+ registersearchterm(reg_whowassearch, "ip",ip_parse, 0, "User's IP - ipv4 or ipv6 format as appropriate. Note: not 6to4");
+ registersearchterm(reg_nicksearch, "channels",channels_parse, 0, "Channel Count"); /* nick only */
+ registersearchterm(reg_nicksearch, "server",server_parse, 0, "Server Name. Either (server string) or (match (server) string)");
+ registersearchterm(reg_whowassearch, "server",server_parse, 0, "Server Name. Either (server string) or (match (server) string)");
+ registersearchterm(reg_whowassearch, "server",server_parse, 0, "Server Name. Either (server string) or (match (server) string)");
+ registersearchterm(reg_nicksearch, "authid",authid_parse, 0, "User's Auth ID");
+ registersearchterm(reg_whowassearch, "authid",authid_parse, 0, "User's Auth ID");
+ registersearchterm(reg_nicksearch, "cidr",cidr_parse, 0, "CIDR matching");
+ registersearchterm(reg_whowassearch, "cidr",cidr_parse, 0, "CIDR matching");
+ registersearchterm(reg_nicksearch, "ipvsix",ipv6_parse, 0, "IPv6 user");
+ registersearchterm(reg_whowassearch, "ipvsix",ipv6_parse, 0, "IPv6 user");
+ registersearchterm(reg_nicksearch, "message",message_parse, 0, "Last message");
+
+ /* Whowas operations */
+ registersearchterm(reg_whowassearch, "quit",quit_parse, 0, "User quit");
+ registersearchterm(reg_whowassearch, "killed",killed_parse, 0, "User was killed");
+ registersearchterm(reg_whowassearch, "renamed",renamed_parse, 0, "User changed nick");
+ registersearchterm(reg_whowassearch, "age",age_parse, 0, "Whowas record age in seconds");
+ registersearchterm(reg_whowassearch, "newnick",newnick_parse, 0, "New nick (for rename whowas records)");
+ registersearchterm(reg_whowassearch, "reason",reason_parse, 0, "Quit/kill reason");
+
+ /* Channel operations */
+ registersearchterm(reg_chansearch, "exists",exists_parse, 0, "Returns if channel exists on network. Note: newserv may store data on empty channels"); /* channel only */
+ registersearchterm(reg_chansearch, "services",services_parse, 0, ""); /* channel only */
+ registersearchterm(reg_chansearch, "size",size_parse, 0, "Channel user count"); /* channel only */
+ registersearchterm(reg_chansearch, "name",name_parse, 0, "Channel Name"); /* channel only */
+ registersearchterm(reg_chansearch, "topic",topic_parse, 0, "Channel topic"); /* channel only */
+ registersearchterm(reg_chansearch, "oppct",oppct_parse, 0, "Percentage Opped"); /* channel only */
+ registersearchterm(reg_chansearch, "cumodecount",cumodecount_parse, 0, "Count of users with given channel modes"); /* channel only */
+ registersearchterm(reg_chansearch, "cumodepct",cumodepct_parse, 0, "Percentage of users with given channel modes"); /* channel only */
+ registersearchterm(reg_chansearch, "uniquehostpct",hostpct_parse, 0, "uniquehost percent"); /* channel only */
+ registersearchterm(reg_chansearch, "authedpct",authedpct_parse, 0, "Percentage of authed users"); /* channel only */
+ registersearchterm(reg_chansearch, "kick",kick_parse, 0, "KICK users channels in newsearch result. Note: evaluation order"); /* channel only */