;Small Service list
;if wparam or lparam consists of list, "|" is separator
;in list: if translation not needed, just add space before help
;numeric parameter format: number<space>help
;'hContact'  will setup "Current contact" feature
;'structure' will setup "structure" feature
;'Unicode' as first word will setup "Unicode text" feature
; not sure what next are usable
;'parameter' will setup "Parameter" feature
;'result'    will setup "last result" feature
;if "return" starts from int/hex/str/struct then separator, result type will set


;[Event:Event (name or constant)]
;alias=constant name
;descr=text
;plugin=placement (including "core" and empty = "unknown")
;wparam=
;lparam=

;full: full structure, with aliases
;short: smallest needed structure
;descr: structure description
;plugin: where defined

[Service:DB/UI/ChangePassword]
alias=MS_DB_CHANGEPASSWORD
wparam=0
lparam=0
return=0
descr=Show window for new/changed profile password
plugin=db3x_mmap

[Service:CListFrames/HideALLFramesTB]
alias=MS_CLIST_FRAMES_HIDEALLFRAMESTB
wparam=0
lparam=0
return=int 0, if successful
descr=Hide All Titlebars

[Service:CListFrames/ShowALLFrames]
alias=MS_CLIST_FRAMES_SHOWALLFRAMES
wparam=0
lparam=0
return=int 0, if successful
descr=Show All Frames

[Service:CListFrames/ShowALLFramesTB]
alias=MS_CLIST_FRAMES_SHOWALLFRAMESTB
wparam=0
lparam=0
return=int 0, if successful
descr=Show All Titlebars

[Service:CList/GetContactDisplayName]
alias=MS_CLIST_GETCONTACTDISPLAYNAME
wparam=hContact
lparam=1 will never return the user's custom name|2 will return Unicode instead of AnsiChar|4 will not use the cache
return=str
descr=Gets the string that the contact list will use to represent a contact

[Service:CList/MenuBuildContact]
alias=MS_CLIST_MENUBUILDCONTACT
wparam=hContact
lparam=0
return=int hMenu handle
descr=Built the context menu for a specific contact. Menu should be DestroyMenu()ed after done

[Service:CList/SetHideOffline]
alias=MS_CLIST_SETHIDEOFFLINE
wparam=0 Show All Users|1 Show only Online Users|-1 Toggle status
lparam=0
return=int 0, if successful
descr=Change 'hide offline contacts' option value

[Service:CList/SetStatusMode]
alias=MS_CLIST_SETSTATUSMODE
wparam=40071 Offline|40072 Online|40073 Away|40074 Do not disturb|40075 Not available|40076 Occupied|40077 Free for chat|40078 Invisible|40079 On the phone|40080 Out to lunch
lparam=0
return=int 0, if successful
descr=Set global status

[Service:CList/ShowHide]
alias=MS_CLIST_SHOWHIDE
wparam=0
lparam=0
return=int 0, if successful
descr=Switch contact list status

[Service:CloseAction]
wparam=0
lparam=0
descr=Closes Miranda

[Service:Console/Show/Hide]
wparam=0
lparam=0
plugin=Console (console.dll)
descr=Show or hide netlog console window

[Service:DB/Contact/GetCount]
alias=MS_DB_CONTACT_GETCOUNT
wparam=0
lparam=0
return=int Value
descr=Returns contact amount, excluding user account

[Service:DB/Module/Delete]
alias=MS_DB_MODULE_DELETE
wparam=0
lparam=Ansi Text
descr=Removes all settings for the specified module

[Service:DBEditorpp/Import]
alias=MS_DBEDIT_IMPORT
wparam=hContact
lparam=Ansi Text
return=int 0
descr=Import settings/contacts from file
plugin=Database Editor++ (dbeditorpp.dll)

[Service:DBEditorpp/MenuCommand]
alias=MS_DBEDIT_MENUCOMMAND
wparam=0
lparam=0
return=int 0
plugin=Database Editor++ (dbeditorpp.dll)
descr=Opens or activate database editor

[Service:FindAdd/FindAddCommand]
alias=MS_FINDADDFINDADD
wparam=0
lparam=0
return=int 0
descr=Opens or activate user search dialog

[Service:FtMgr/Show]
wparam=0
lparam=0
return=int 0
descr=displays File Transfer window

[Service:Help/AboutCommand]
wparam=0 on Desktop|parent window handle
lparam=0
descr=Show "About..." window

[Service:Help/IndexCommand]
wparam=0
lparam=0
descr=Open support (originally - Miranda wiki) page

[Service:Help/WebsiteCommand]
wparam=0
lparam=0
descr=Go to Miranda Homepage

[Service:Help/BugCommand]
wparam=0
lparam=0
descr=Open bug report page

[Service:History/ShowContactHistory]
alias=MS_HISTORY_SHOWCONTACTHISTORY
wparam=0 System|hContact
lparam=0
descr=Shows contact history or (wParam=0) system history

[Service:History++/EmptyHistory]
alias=MS_HPP_EMPTYHISTORY
wparam=hContact
lparam=0
plugin=History++ (historypp.dll)
descr=Erases contact's history. hContact can be NULL(0) to empty system history

[Service:History++/ShowGlobalSearch]
alias=MS_HPP_SHOWGLOBALSEARCH
wparam=0
lparam=0
plugin=History++ (historypp.dll)
descr=Show Global history search window. If already opened, bring it to front.

[Service:Ignore/Ignore]
alias=MS_IGNORE_IGNORE
wparam=hContact
lparam=-1 Ignore all|1 Ignore messages|2 Ignore URLs|3 Ignore files|4 Ignore User Online|5 Ignore requests|6 Ignore 'You were added'
return=int 0, if successful
descr=Ignore Contact

[Service:Ignore/Unignore]
alias=MS_IGNORE_UNIGNORE
wparam=hContact
lparam=-1 Ignore all|1 Ignore messages|2 Ignore URLs|3 Ignore files|4 Ignore User Online|5 Ignore requests|6 Ignore 'You were added'
return=int 0, if successful
descr=Unignore Contact

[Service:Miranda/System/Restart]
alias=MS_SYSTEM_RESTART
wparam=0 restart in default profile or profile manager|1 restart with current profile
lparam=0
descr=Restarts Miranda

[Service:mRadio/PlayStop]
alias=MS_RADIO_PLAYSTOP
wparam=hContact|Station name
lparam=0 wParam is Handle|1 wParam is Ansi station name|2 wParam is Unicode station name
descr=Starting or stopping radio station

[Service:MyDetails/CicleThroughtProtocols]
alias=MS_MYDETAILS_CICLE_THROUGHT_PROTOCOLS
wparam=0 Stop cycle|1 Start cycle
lparam=0
return=int 0, if successful
plugin=My Details (mydetails.dll)
descr=Start/stops the cycling through protocols

[Service:MyDetails/SetMyAvatarUI]
alias=MS_MYDETAILS_SETMYAVATARUI
wparam=0
lparam=0 All protocols|Protocol
return=signed -2 if proto can't set this, -1 on protocol not found, else 0
plugin=My Details (mydetails.dll)
descr=Shows a dialog to set the avatar for all possible protocols

[Service:MyDetails/ShowNextProtocol]
alias=MS_MYDETAILS_SHOWNEXTPROTOCOL
wparam=0
lparam=0
return=int 0, if successful
plugin=My Details (mydetails.dll)
descr=Shows the next protocol in the frame

[Service:MyDetails/ShowPreviousProtocol]
alias=MS_MYDETAILS_SHOWPREVIOUSPROTOCOL
wparam=0
lparam=0
return=int 0, if successful
plugin=My Details (mydetails.dll)
descr=Shows the previous protocol in the frame

[Service:Options/OptionsCommand]
wparam=0
lparam=0
descr=Open Options dialog

[Service:Opt/OpenOptions]
alias=MS_OPT_OPENOPTIONS
wparam=0
lparam=structure|0|dword|b.ptr|b.ptr|b.ptr|
return=int 0, if successful
descr=Opens the options dialog, optionally at the specified page

[Service:PackUpdater/CheckUpdates]
wparam=0
lparam=0
plugin=Pack Updater (packupdater.dll)
descr=Check for updates

[Service:PackUpdater/EmptyFolder]
wparam=0
lparam=0 with confirmation|1 without confirmation
plugin=Pack Updater (packupdater.dll)
descr=Empty updater download folder

[Service:Popup/EnableDisableMenuCommand]
wparam=0
lparam=0
plugin=Popup plus (popup.dll) latest YAPP (yapp.dll)
descr=Enables or disables Popup windows

[Service:Popup/ShowMessage]
alias=MS_POPUP_SHOWMESSAGE
wparam=Ansi Text
lparam=1 Warning|2 Notify|3 Error
return=int 0, if successful
plugin=YAPP or Popup
descr=Popup window

[Service:Popup/ShowMessageW]
alias=MS_POPUP_SHOWMESSAGEW
wparam=Unicode Text
lparam=1 Warning|2 Notify|3 Error
return=int 0, if successful
plugin=YAPP or Popup
descr=Popup window

[Service:Popup/ToggleEnabled]
wparam=0
lparam=0
plugin=YAPP (yapp.dll)
descr=Enables or disables Popup windows (maybe deprecated)

[Service:Proto/CallContactService]
alias=MS_PROTO_CALLCONTACTSERVICE
wparam=0
lparam=structure|0|native|b.ptr|native|native|
return=result of protocol service call
descr=Send a general request through the protocol chain for a contact

[Service:Proto/GetContactBaseAccount]
alias=MS_PROTO_GETCONTACTBASEACCOUNT
wparam=hContact
lparam=0
return=str, account name
descr=Return account name associated to contact (no need to free it)

[Service:Protos/ShowAccountManager]
alias=MS_PROTO_SHOWACCMGR
wparam=0
lparam=0
descr=displays the Account Manager

[Service:QuickContacts/ShowDialog]
alias=MS_QC_SHOW_DIALOG
wparam=0
lparam=0
plugin=Quick Contacts (quickcontacts.dll)
descr=Show the dialog to select the contact

[Service:QuickSearch_PLUGIN/Show]
wparam=0|filter text
lparam=0 wParam is unicode|1 wParam is Ansi|2 Reserved
plugin=Quick Search (Mod) (quicksearch.dll)
descr=Open main QuickSearch window with text filter

[Service:Skin/Sounds/Play]
alias=MS_SKIN_PLAYSOUND
wparam=0
lparam=Name
descr=Plays sound added through Skin/Sounds/AddNew. If sound not found, standard Windows sound plays

[Service:SREMail/SendCommand]
alias=MS_EMAIL_SENDEMAIL
wparam=hContact
lparam=0
return=int 0, if successful
descr=Send Email to contact

[Service:SRFile/GetReceivedFilesFolder]
alias=MS_FILE_GETRECEIVEDFILESFOLDER
wparam=hContact
lparam=structure|*b.arr 300|
return=struct
descr=Returns the received files folder for a contact

[Service:SRFile/OpenContRecDir]
wparam=hContact
lparam=0
descr=Open contact received file directory

[Service:SRFile/SendCommand]
alias=MS_FILE_SENDFILE
wparam=hContact
lparam=0
return=int 0, if successful
descr=Send file to contact.

[Service:SRMsg/SendCommand]
alias=MS_MSG_SENDMESSAGE
wparam=hContact;parameter
lparam=0
descr=Opens message window for contact with handle in wparam

[Service:StopSpam/RemoveTempContacts]
alias=MS_STOPSPAM_REMTEMPCONTACTS
wparam=0
lparam=0
return=int 0
plugin=StopSpam (stopspam.dll)
descr=remove all temporary contacts from db

[Service:SV_Avatars/ContactOptions]
alias=MS_AV_CONTACTOPTIONS
wparam=hContact
lparam=0
plugin=Avatar service (AVS.dll)
descr=Call avatar option dialog for contact

[Service:SV_Avatars/SetAvatar]
alias=MS_AV_SETAVATAR
wparam=hContact
lparam=0|Filename
plugin=Avatar service (AVS.dll)
descr=Set (and optionally protect) a local contact picture for the given hContact. If lParam = NIL, the service will open a file selection dialog.

[Service:UserInfo/ShowDialog]
alias=MS_USERINFO_SHOWDIALOG
wparam=0 System|hContact
lparam=0
plugin=Extended UserInfo (uinfoex.dll)
descr=Shows contact property window.

[Service:Utils/OpenURL]
alias=MS_UTILS_OPENURL
wparam=0 Open URL in current window
lparam=URL
return=int 0
descr=Open URL in default browser

[Service:Versioninfo/GetInfo]
alias=MS_VERSIONINFO_GETINFO
wparam=0 With formating|1 Don't use formating
lparam=structure|*b.ptr 0|
plugin=VersionInfo
return=int 0, if successful
descr=Returns a string containing the versioninfo post

[Service:VersionInfo/MenuCommand]
alias=MS_VERSIONINFO_MENU_COMMAND
wparam=0
lparam=0
plugin=VersionInfo
descr=Show or save (call default action) Modules version Info

[Service:WATrack/ShowMusicInfo]
alias=MS_WAT_SHOWMUSICINFO
wparam=0
lparam=0
plugin=Winamp Track (watrack.dll)
descr=Show popup or Info window with current music information.

[Service:WATrack/MakeReport]
alias=MS_WAT_MAKEREPORT
wparam=log filename
lparam=report filename
return=int 0, if unsuccessful
plugin=Winamp Track (watrack.dll)
descr=Create report from log and run it (if option is set). If wParam or lParam is empty then file names from options are used.

[Service:WhenWasIt/List/Show]
alias=MS_WWI_LIST_SHOW
wparam=0
lparam=0
plugin=WhenWasIt Birthday Reminder (whenwasit.dll)
descr=display birthdays window

[Service:<proto>/Bookmarks]
wparam=0
lparam=0
plugin=Jabber
descr=Manage Jabber Bookmarks

[Service:<proto>/SetAwayMsg]
alias=PS_SETAWAYMSG
wparam=40071 Offline|40072 Online|40073 Away|40074 Do not disturb|40075 Not available|40076 Occupied|40077 Free for chat|40078 Invisible|40079 On the phone|40080 Out to lunch
lparam=text
return=int 0, if successful
descr=Set status message

[Service:<proto>/SetStatus]
alias=PS_SETSTATUS
wparam=40071 Offline|40072 Online|40073 Away|40074 Do not disturb|40075 Not available|40076 Occupied|40077 Free for chat|40078 Invisible|40079 On the phone|40080 Out to lunch
lparam=0
return=int 0, if successful
descr=Set protocol status

[Service:<proto>/SetXStatus]
alias=PS_ICQ_SETCUSTOMSTATUS
;alias=JS_SETXSTATUSEX
wparam=0 None|1 Angry|2 Taking a bath|3 Tired|4 Birthday|5 Drinking beer|6 Thinking|7 Eating|8 Watching TV|9 Meeting|10 Coffee|11 Listening to music|12 Business|13 Shooting|14 Having fun|15 On the phone|16 Gaming|17 Studying|18 Shopping|19 Feeling sick|20 Sleeping|21 Surfing|22 Browsing|23 Working|24 Typing|25 Picnic|26 Cooking|27 Smoking|28 I'm high|29 On WC|30 To be or not to be|31 Watching pro7 on TV|32 Love
lparam=0
plugin=ICQ
descr=Sets owner current custom status

[Service:<proto>/ShowXStatusDetails]
alias=MS_XSTATUS_SHOWDETAILS
wparam=0|hContact
lparam=0
plugin=ICQ
descr=Display xStatus detail

[Event:Actions/Changed]
alias=ME_ACT_CHANGED
plugin=ActMan
descr='Action group list was changed: some was added or deleted'
wparam=ACTM_NEW|ACTM_DELETE|ACTM_RELOAD|ACTM_RENAME|ACTM_SORT|ACTM_LOADED
lparam=0

[Event:CList/PreBuildContactMenu]
alias=ME_CLIST_PREBUILDCONTACTMENU
plugin=contact list
descr='The context menu for a contact is about to be built'
wparam=hContact
lparam=0

[Event:CList/DoubleClicked]
alias=ME_CLIST_DOUBLECLICKED
plugin=contact list
descr='Double click on the contact list'
wparam=hContact
lparam=0

[Event:DB/Contact/Added]
alias=ME_DB_CONTACT_ADDED
plugin=database driver
descr='New contact added to database'
wparam=hContact
lparam=0

[Event:DB/Contact/Deleted]
alias=ME_DB_CONTACT_DELETED
plugin=database driver
descr='Contact deleting'
wparam=hContact
lparam=0

[Structure:CCSDATA]
; variant: Handle -> param
full=0|                                \
param (HANDLE) hContact|               \
b.ptr (const char *) szProtoService|   \
native (WPARAM) wParam|                \
native (LPARAM) lParam|
short=0|param|b.ptr|native|native|
descr=
plugin=

[Structure:DBEVENTINFO]
full=0|                  \
dword (int) cbSize|      \
b.ptr (char *) szModule| \
dword timestamp|         \
dword flags|             \
word eventType|          \
dword cbBlob|            \
b.ptr (PByte) pBlob|
short=0|dword|b.ptr|dword|dword|word|dword|b.ptr|
descr=
plugin=

[Const:CALLSERVICE_NOTFOUND]
value=$80000000
value64=$8000000000000000
;signed=0
;plugin=core

[Const:ID_STATUS_OFFLINE]
value=40071
[Const:ID_STATUS_ONLINE]
value=40072
[Const:ID_STATUS_AWAY]
value=40073
[Const:ID_STATUS_DND]
value=40074
[Const:ID_STATUS_NA]
value=40075
[Const:ID_STATUS_OCCUPIED]
value=40076
[Const:ID_STATUS_FREECHAT]
value=40077
[Const:ID_STATUS_INVISIBLE]
value=40078
[Const:ID_STATUS_ONTHEPHONE]
value=40079
[Const:ID_STATUS_OUTTOLUNCH]
value=40080
[Const:ID_STATUS_IDLE]
value=40081

[Function:user32.dll$MessageBoxA]
;dll=
calltype=stdcall
argcount=4
argvalue1=0
argvalue2=Ansi message
argvalue3=Ansi caption
argvalue4=0
argname1=hWnd
argname2=lpText
argname3=lpCaption
argname4=uType
return=int 0
descr=Displays a modal dialog box that contains a system icon, a set of buttons, and a brief application-specific message, such as status or error information.