Site Tools

Sidebar

Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing

javacard:jcvm:6.8.2.5_remote_interface_info

6.8.2.5 remote_interface_info

If the value of the ACC_REMOTE flag is zero, this structure is defined as:

remote_interface_info {

}

If the value of the ACC_REMOTE flag is one, this structure is defined as:

The remote_interface_info structure is defined as:

remote_methods_count

The remote_methods_count item indicates the number of entries in the remote_methods array.

remote_methods[]

The remote_methods item of the class_info structure is an array of remote_method_info structures that maps each remote method available in the class to its hash code and its type definition in the signature_pool[]. The methods are listed in numerically ascending order of hash values.

The remote_method_info structure is defined as follows:

The items in the remote_method_info structure are defined as follows:

remote_method_hash

The remote_method_hash item contains a two-byte hash value for the method. The hash value is computed from the simple (not fully qualified) name of the method concatenated with its method descriptor. The representation of the method descriptor is the same as in a Java class file. See the specification described in Java Virtual Machine Specification (§4.3.3).

The hash value uniquely identifies the method within the class.

The hash code is defined as the first two bytes of the SHA-1 message digest function performed on the hash_modifier[] item described below followed by the name of the method followed by the method descriptor representation in UTF-8 format. Rare hash collisions are averted automatically during package conversion by adjusting the anti-collision string.

signature_offset

The signature_offset item contains an offset from the signature_pool item of the info item of the Class Component to the variable-length type descriptor structure inside the signature_pool[] item. This structure represents the signature of the remote method.

virtual_method_token

The virtual_method_token item is the virtual method token of the remote method in this class.

hash_modifier_length

The hash_modifier_length item is the number of bytes in the following hash_modifier item. The value of this item must be zero if an anti-collision string is not required.

hash_modifier[]

The hash_modifier[] item is a variable length representation of the anti-collision string in UTF-8 format.

class_name_length

The class_name_length item is the number of bytes used in the class_name[] item.

class_name[]

The class_name[] item is a variable length representation of the name of this class in UTF-8 format.

remote_interfaces_count

The remote_interfaces_count item is the number of interfaces listed in the following remote_interfaces[] item.

remote_interfaces[]

The remote_interfaces[] item is a variable length array of class_ref items. It represents the remote interfaces implemented by this class. The remote interfaces listed in this array, together with their superinterfaces must be the complete set of remote interfaces implemented by this class and all its superclasses.

Each entry has the form of a class_ref structure. Each class_ref structure must reference an interface_info structure representing a remote interface implemented by this class.

The entries in the remote_interfaces[] array must be ordered such that all remote interfaces from the same package are listed consecutively.

javacard/jcvm/6.8.2.5_remote_interface_info.txt · Last modified: 2017/05/13 04:11 (external edit)