diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita --- a/Symbian3/PDK/Source/GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita Tue Mar 30 11:42:04 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-1CBDCDE6-1FC6-59BE-BA4A-9EAD3D6627CD.dita Tue Mar 30 11:56:28 2010 +0100 @@ -1,14 +1,14 @@ - - - - - -Set capability test tool SETCAP

Version 9.0 and later

This is a tool that allows you to make a copy of an executable file and to assign a set of capabilities to it. It can also modify the Secure or Vendor IDs.

The purpose of the tool is to allow you to test the executable with different capability combinations. It avoids the overhead of maintaining multiple copies of the executable's .mmp file for each capability combination, and the need to rebuild each copy of the executable after a change to the source code.

Note: this is not a native PC utility. It is a command line tool that runs under Symbian platform.

Command line syntax

This is the command line syntax:

SETCAP source_exe capability [-SID secureId] [-VID vendorId] [destination_path]
Arguments

The following arguments are used.

source_exe

The name and the path of an executable file to be copied. If the path is not specified, a default path of Z:\SYS\BIN\ is assumed.

capability

The hexadecimal representation of the set of capabilities.

This should be a simple string of hexadecimal characters (i.e. not preceded by 0x characters, and not enclosed by quotation marks etc).

For example, the three capabilities: LocalServices, ReadUserData and WriteUserData would be represented by the value of:

((1<<ECapabilityLocalServices) | (1<<ECapabilityReadUserData) | (1<<ECapabilityWriteUserData))

which in hexadecimal is 1c000.

If the value supplied includes capabilities that are not supported by the current version of Symbian platform, then these capabilities are ignored; they are not added to the file.

-SID secureId

The hexadecimal value of the secure ID that is to be assigned.

This should be a simple string of hexadecimal characters (i.e. not preceded by 0x characters, and not enclosed by quotation marks etc).

This is optional.

-VID vendorId

The hexadecimal value of the vendor ID to be assigned.

This should be a simple string of hexadecimal characters (i.e. not preceded by 0x characters, and not enclosed by quotation marks etc).

This is optional.

destination_path

The name and path of the target executable to which the executable is copied.

This is optional, and if not specified, defaults to C:\SYS\BIN\source_executable_name.

Notes
  • If the source executable is in ROM, then it must be a RAM executable image, not an execute-in-place (XIP) image. In other words, its entry in an OBY file must start with "data=" and not "file=".

    For OBY files generated automatically using ABLD - ROMFILE, this needs to be achieved by using lines similar to the following in the executable's .mmp file:

    ROMTARGET // Empty ROM path means don't include normal execute-in-place file + + + + + +Set capability test tool SETCAP

    Version 9.0 and later

    This is a tool that allows you to make a copy of an executable file and to assign a set of capabilities to it. It can also modify the Secure or Vendor IDs.

    The purpose of the tool is to allow you to test the executable with different capability combinations. It avoids the overhead of maintaining multiple copies of the executable's .mmp file for each capability combination, and the need to rebuild each copy of the executable after a change to the source code.

    Note: this is not a native PC utility. It is a command line tool that runs under Symbian platform.

    • Command line syntax

    • Arguments

    • Notes

    Command line syntax

    This is the command line syntax:

    SETCAP source_exe capability [-SID secureId] [-VID vendorId] [destination_path]
    Arguments

    The following arguments are used.

    source_exe

    The name and the path of an executable file to be copied. If the path is not specified, a default path of Z:\SYS\BIN\ is assumed.

    capability

    The hexadecimal representation of the set of capabilities.

    This should be a simple string of hexadecimal characters (i.e. not preceded by 0x characters, and not enclosed by quotation marks etc).

    For example, the three capabilities: LocalServices, ReadUserData and WriteUserData would be represented by the value of:

    ((1<<ECapabilityLocalServices) | (1<<ECapabilityReadUserData) | (1<<ECapabilityWriteUserData))

    which in hexadecimal is 1c000.

    If the value supplied includes capabilities that are not supported by the current version of Symbian platform, then these capabilities are ignored; they are not added to the file.

    -SID secureId

    The hexadecimal value of the secure ID that is to be assigned.

    This should be a simple string of hexadecimal characters (i.e. not preceded by 0x characters, and not enclosed by quotation marks etc).

    This is optional.

    -VID vendorId

    The hexadecimal value of the vendor ID to be assigned.

    This should be a simple string of hexadecimal characters (i.e. not preceded by 0x characters, and not enclosed by quotation marks etc).

    This is optional.

    destination_path

    The name and path of the target executable to which the executable is copied.

    This is optional, and if not specified, defaults to C:\SYS\BIN\source_executable_name.

    Notes
    • If the source executable is in ROM, then it must be a RAM executable image, not an execute-in-place (XIP) image. In other words, its entry in an OBY file must start with "data=" and not "file=".

      For OBY files generated automatically using ABLD + ROMFILE, this needs to be achieved by using lines similar to the following in the executable's .mmp file:

      ROMTARGET // Empty ROM path means don't include normal execute-in-place file RAMTARGET \sys\bin\ // Target path (in ROM) for RAM executable image
    • Symbian platform only allows one binary file with a given name; the name does not include the file path or extension. This means that if SETCAP is used to make a copy of a binary which is already loaded, then the copy will not be loaded when used with RProcess::Create(); instead the already loaded version is used. To avoid this, use SETCAP to give the copy a different name. For example:

      SETCAP test.exe 1c000 test2.exe

    \ No newline at end of file