Capability flags

The SCC_CAP_xxx flags are bit flags used to indicate the capabilities of a source control plug-in. The SCC_EXCAP_xxx flags are incremental flags that indicate extended capabilities and resolve to integer values.

Capability Code Value Description
SCC_CAP_REMOVE 0x00000001L Supports the SccRemove and command.
SCC_CAP_RENAME 0x00000002L Supports the SccRename and command.
SCC_CAP_DIFF 0x00000004L Supports the SccDiff and command.
SCC_CAP_HISTORY 0x00000008L Supports the SccHistory and command.
SCC_CAP_PROPERTIES 0x00000010L Supports the SccProperties and command.
SCC_CAP_RUNSCC 0x00000020L Supports the SccRunScc and command.
SCC_CAP_GETCOMMANDOPTIONS 0x00000040L Supports the SccGetCommandOptions and command.
SCC_CAP_QUERYINFO 0x00000080L Supports the SccQueryInfo and command.
SCC_CAP_GETEVENTS 0x00000100L Supports the SccGetEvents and command.
SCC_CAP_GETPROJPATH 0x00000200L Supports the SccGetProjPath and command.
SCC_CAP_ADDFROMSCC 0x00000400L Supports the SccAddFromScc and command.
SCC_CAP_COMMENTCHECKOUT 0x00000800L Supports a comment on checkout.
SCC_CAP_COMMENTCHECKIN 0x00001000L Supports a comment on checkin.
SCC_CAP_COMMENTADD 0x00002000L Supports a comment on Add.
SCC_CAP_COMMENTREMOVE 0x00004000L Supports a comment on Remove.
SCC_CAP_TEXTOUT 0x00008000L Writes text to an IDE-provided output function.
SCC_CAP_ADD_STORELATEST 0x00200000L Supports storing files without deltas.
SCC_CAP_HISTORY_MULTFILE 0x00400000L Supports multiple file history.
SCC_CAP_IGNORECASE 0x00800000L Supports case-insensitive file comparison.
SCC_CAP_IGNORESPACE 0x01000000L Supports file comparison that ignores white space.
SCC_CAP_POPULATELIST 0x02000000L Supports finding extra files.
SCC_CAP_COMMENTPROJECT 0x04000000L Supports comments on create project.
SCC_CAP_DIFFALWAYS 0x10000000L Supports diff in all states if under control.
SCC_CAP_GET_NOUI 0x20000000L Plug-in does not support a UI for Get, but IDE may still call SccGet.
SCC_CAP_REENTRANT 0x40000000L Plug-in is reentrant and thread-safe. In version 1.0, no plug-ins were assumed to be reentrant and thread-safe. If a 1.1 plug-in sets this bit, the host is allowed to open multiple projects in parallel.

Capability bits added in version 1.2

Capability Code Value Description
SCC_CAP_CREATESUBPROJECT 0x00010000L Supports the SccCreateSubProject.
SCC_CAP_GETPARENTPROJECT 0x00020000L Supports the SccGetParentProjectPath.
SCC_CAP_BATCH 0x00040000L Supports the SccBeginBatch and SccEndBatch.
SCC_CAP_DIRECTORYSTATUS 0x00080000L Supports the SccDirQueryInfo.
SCC_CAP_DIRECTORYDIFF 0x00100000L Supports the SccDirDiff.
SCC_CAP_MULTICHECKOUT 0x08000000L Supports multiple checkouts on a file and the SccIsMultiCheckoutEnabled.
SCC_CAP_SCCFILE 0x80000000L Supports the MSSCCPRJ.SCC file (subject to user/administrator override) and the SccWillCreateSccFile.

Capability bits added in version 1.3

These flags are passed one at a time to the SccGetExtendedCapabilities function to determine whether the capability is supported.

Extended Capability Code Value Description
SCC_EXCAP_CHECKOUT_LOCALVER 1 Supports the SCC_CHECKOUT_LOCALVER option for checkouts.
SCC_EXCAP_BACKGROUND_GET 2 Supports the SccBackgroundGet.
SCC_EXCAP_ENUM_CHANGED_FILES 3 Supports the SccEnumChangedFiles.
SCC_EXCAP_POPULATELIST_DIR 4 Supports finding extra directories.
SCC_EXCAP_QUERYCHANGES 5 Supports enumerating file changes.
SCC_EXCAP_ADD_FILES_FROM_SCC 6 Supports the SccAddFilesFromSCC.
SCC_EXCAP_GET_USER_OPTIONS 7 Supports the SccGetUserOption.
SCC_EXCAP_THREADSAFE_QUERY_INFO 8 Supports calling SccQueryInfo on multiple threads.
SCC_EXCAP_REMOVE_DIR 9 Supports the SccRemoveDir function.
SCC_EXCAP_DELETE_CHECKEDOUT 10 Can delete checked-out files.
SCC_EXCAP_RENAME_CHECKEDOUT 11 Can rename checked-out files.

See also