The capstone Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The capstone Reference Manual

This is the capstone Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed Jun 15 03:33:05 2022 GMT+0.

Table of Contents


1 Introduction

CAPSTONE

Common Lisp bindings to the Capstone disassembler (version 4). https://github.com/aquynh/capstone

The CAPSTONE package provides raw access to the capstone C API from Common Lisp. Its usage to drive cs-disasm and cs-diasm-iter is demonstrated in the cs-disasm-original-example and cs-disasm-iter-original-example tests in test.lisp.

The CAPSTONE/CLOS package provides a more lispy interface to Capstone. For example:

CAPSTONE/CLOS> (version)
4
0
CAPSTONE/CLOS> (defparameter engine
                 (make-instance 'capstone-engine :architecture :x86 :mode :64))
ENGINE
CAPSTONE/CLOS> (disasm engine #(#x55 #x48 #x8b #x05 #xb8 #x13 #x00 #x00))
#(#<CAPSTONE-INSTRUCTION (:PUSH :RBP)>
  #<CAPSTONE-INSTRUCTION (:MOV :RAX (:QWORD (:DEREF (:+ :RIP 5048))))>)
CAPSTONE/CLOS> (let ((counter 0))
                 (disasm-iter (i (engine
                                  #(#x55 #x48 #x8b #x05 #xb8 #x13 #x00 #x00)))
                   (format t "~d 0x~x ~a~{~^ ~a~^,~}~%"
                           (incf counter)
                           (address i)
                           (mnemonic i)
                           (operands i))))
1 0x0 PUSH RBP
2 0x1 MOV RAX, (QWORD (DEREF (+ RIP 5048)))
; No value
CAPSTONE/CLOS>

Copyright and Acknowledgments

Copyright (C) 2020 GrammaTech, Inc.

This code is licensed under the MIT license. See the LICENSE file in the project root for license terms.

This project is sponsored by the Office of Naval Research, One Liberty Center, 875 N. Randolph Street, Arlington, VA 22203 under contract # N68335-17-C-0700. The content of the information does not necessarily reflect the position or policy of the Government and no official endorsement should be inferred.


2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 capstone

Common Lisp CLOS interface to the Capstone disassembler

Author

GrammaTech

License

MIT

Dependencies
  • gt (system).
  • cffi (system).
  • static-vectors (system).
  • capstone/raw (system).
Source

capstone.asd.

Child Component

capstone.lisp (file).


Previous: , Up: Systems   [Contents][Index]

2.2 capstone/raw

Raw Common Lisp FFI interface to the Capstone disassembler

Author

GrammaTech

License

MIT

Defsystem Dependency

cffi-grovel (system).

Dependencies
  • gt (system).
  • cffi (system).
  • static-vectors (system).
Source

capstone.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.1 capstone/capstone.asd

Source

capstone.asd.

Parent Component

capstone (system).

ASDF Systems

3.1.2 capstone/capstone.lisp

Source

capstone.asd.

Parent Component

capstone (system).

Packages

capstone.

Public Interface
Internals

3.1.3 capstone/raw/package.lisp

Source

capstone.asd.

Parent Component

capstone/raw (system).

Packages

capstone/raw.


3.1.4 capstone/raw/grovel.lisp

Source

capstone.asd.

Parent Component

capstone/raw (system).


3.1.5 capstone/raw/raw.lisp

Source

capstone.asd.

Parent Component

capstone/raw (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 capstone

Source

capstone.lisp.

Use List
Public Interface
Internals

Previous: , Up: Packages   [Contents][Index]

4.2 capstone/raw

Source

package.lisp.

Use List
  • cffi.
  • common-lisp.
Used By List

capstone.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


5.1.1 Macros

Macro: disasm-iter ((var (engine bytes &key address return-form)) &body body)

Use ENGINE to disassemble BYTES one instructions at a time.
Bind each instruction to VAR when executing BODY. Optional argument ADDRESS may be used to set the starting ADDRESS during disassembly.

Package

capstone.

Source

capstone.lisp.


5.1.2 Ordinary functions

Function: cs-close (handle)

Close CS handle: MUST do to release the handle when it is not used anymore. NOTE: this must be only called when there is no longer usage of Capstone, not even access to cs_insn array. The reason is the this API releases some cached memory, thus access to any Capstone API after cs_close() might crash your application.

In fact,this API invalidate @handle by ZERO out its value (i.e *handle = 0).

@handle: pointer to a handle returned by cs_open()

@return CS_ERR_OK on success, or other value on failure (refer to cs_err enum for detailed error).

Package

capstone/raw.

Source

raw.lisp.

Function: cs-disasm (handle code code_size address count instructions)

Disassemble binary code, given the code buffer, size, address and number of instructions to be decoded.
This API dynamically allocate memory to contain disassembled instruction. Resulting instructions will be put into @*insn

NOTE 1: this API will automatically determine memory needed to contain output disassembled instructions in @insn.

NOTE 2: caller must free the allocated memory itself to avoid memory leaking.

NOTE 3: for system with scarce memory to be dynamically allocated such as OS kernel or firmware, the API cs_disasm_iter() might be a better choice than cs_disasm(). The reason is that with cs_disasm(), based on limited available memory, we have to calculate in advance how many instructions to be disassembled, which complicates things. This is especially troublesome for the case @count=0, when cs_disasm() runs uncontrollably (until either end of input buffer, or when it encounters an invalid instruction).

@handle: handle returned by cs_open()
@code: buffer containing raw binary code to be disassembled. @code_size: size of the above code buffer.
@address: address of the first instruction in given raw code buffer.
@insn: array of instructions filled in by this API.
NOTE: @insn will be allocated by this function, and should be freed with cs_free() API.
@count: number of instructions to be disassembled, or 0 to get all of them

@return: the number of successfully disassembled instructions, or 0 if this function failed to disassemble the given code

On failure, call cs_errno() for error code.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-disasm-iter (handle code size address instructions)

Fast API to disassemble binary code, given the code buffer, size, address and number of instructions to be decoded.
This API puts the resulting instruction into a given cache in @insn. See tests/test_iter.c for sample code demonstrating this API.

NOTE 1: this API will update @code, @size & @address to point to the next instruction in the input buffer. Therefore, it is convenient to use cs_disasm_iter() inside a loop to quickly iterate all the instructions. While decoding one instruction at a time can also be achieved with cs_disasm(count=1), some benchmarks shown that cs_disasm_iter() can be 30% faster on random input.

NOTE 2: the cache in @insn can be created with cs_malloc() API.

NOTE 3: for system with scarce memory to be dynamically allocated such as OS kernel or firmware, this API is recommended over cs_disasm(), which allocates memory based on the number of instructions to be disassembled. The reason is that with cs_disasm(), based on limited available memory, we have to calculate in advance how many instructions to be disassembled, which complicates things. This is especially troublesome for the case @count=0, when cs_disasm() runs uncontrollably (until either end of input buffer, or when it encounters an invalid instruction).

@handle: handle returned by cs_open()
@code: buffer containing raw binary code to be disassembled
@size: size of above code
@address: address of the first insn in given raw code buffer
@insn: pointer to instruction to be filled in by this API.

@return: true if this API successfully decode 1 instruction,
or false otherwise.

On failure, call cs_errno() for error code.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-errno (handle)

Report the last error number when some API function fail.
Like glibc’s errno, cs_errno might not retain its old value once accessed.

@handle: handle returned by cs_open()

@return: error code of cs_err enum type (CS_ERR_*, see above)

Package

capstone/raw.

Source

raw.lisp.

Function: cs-free (instructions count)

Free memory allocated by cs_malloc() or cs_disasm() (argument @insn)

@insn: pointer returned by @insn argument in cs_disasm() or cs_malloc() @count: number of cs_insn structures returned by cs_disasm(), or 1 to free memory allocated by cs_malloc().

Package

capstone/raw.

Source

raw.lisp.

Function: cs-group-name (handle group-id)

Return friendly name of a group id (that an instruction can belong to)
Find the group id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)

WARN: when in ’diet’ mode, this API is irrelevant because the engine does not
store group name.

@handle: handle returned by cs_open()
@group_id: group id

@return: string name of the group, or NULL if @group_id is invalid.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-insn-name (handle instruction-id)

Return friendly name of an instruction in a string.
Find the instruction id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)

WARN: when in ’diet’ mode, this API is irrelevant because the engine does not
store instruction name.

@handle: handle returned by cs_open()
@insn_id: instruction id

@return: string name of the instruction, or NULL if @insn_id is invalid.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-malloc (handle)

Allocate memory for 1 instruction to be used by cs_disasm_iter().

@handle: handle returned by cs_open()

NOTE: when no longer in use, you can reclaim the memory allocated for this instruction with cs_free(insn, 1)

Package

capstone/raw.

Source

raw.lisp.

Function: cs-op-count (handle instruction operand-type)

Count the number of operands of a given type.
Find the operand type in header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)

NOTE: this API is only valid when detail option is ON (which is OFF by default)

@handle: handle returned by cs_open()
@insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
@op_type: Operand type to be found.

@return: number of operands of given type @op_type in instruction @insn,
or -1 on failure.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-op-index (handle instruction operand-type position)

Retrieve the position of operand of given type in <arch>.operands[] array.
Later, the operand can be accessed using the returned position.
Find the operand type in header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)

NOTE: this API is only valid when detail option is ON (which is OFF by default)

@handle: handle returned by cs_open()
@insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
@op_type: Operand type to be found.
@position: position of the operand to be found. This must be in the range
[1, cs_op_count(handle, insn, op_type)]

@return: index of operand of given type @op_type in <arch>.operands[] array
in instruction @insn, or -1 on failure.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-open (arch mode handle)

Initialize CS handle: this must be done before any usage of CS.

@arch: architecture type (CS_ARCH_*)
@mode: hardware mode. This is combined of CS_MODE_*
@handle: pointer to handle, which will be updated at return time

@return CS_ERR_OK on success, or other value on failure (refer to cs_err enum for detailed error).

Package

capstone/raw.

Source

raw.lisp.

Function: cs-reg-name (handle register-id)

Return friendly name of register in a string.
Find the instruction id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)

WARN: when in ’diet’ mode, this API is irrelevant because engine does not
store register name.

@handle: handle returned by cs_open()
@reg_id: register id

@return: string name of the register, or NULL if @reg_id is invalid.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-reg-read (handle instruction register-id)

Check if a disassembled instruction IMPLICITLY used a particular register.
Find the register id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...) Internally, this simply verifies if @reg_id matches any member of insn->regs_read array.

NOTE: this API is only valid when detail option is ON (which is OFF by default)

WARN: when in ’diet’ mode, this API is irrelevant because the engine does not
update @regs_read array.

@insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
@reg_id: register that you want to check if this instruction used it.

@return: true if this instruction indeed implicitly used the given register, or false otherwise.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-strerror (code)

Return a string describing given error code.

@code: error code (see CS_ERR_* above)

@return: returns a pointer to a string that describes the error code passed in the argument @code

Package

capstone/raw.

Source

raw.lisp.

Function: cs-support (query)

This API can be used to either ask for archs supported by this library, or check to see if the library was compile with ’diet’ option (or called in ’diet’ mode).

To check if a particular arch is supported by this library, set @query to arch mode (CS_ARCH_* value).
To verify if this library supports all the archs, use CS_ARCH_ALL.

To check if this library is in ’diet’ mode, set @query to CS_SUPPORT_DIET.

@return True if this library supports the given arch, or in ’diet’ mode.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-version (major minor)

Return combined API version & major and minor version numbers.

@major: major number of API version
@minor: minor number of API version

@return hexical number as (major << 8 | minor), which encodes both
major & minor versions.
NOTE: This returned value can be compared with version number made with macro CS_MAKE_VERSION

For example, second API version would return 1 in @major, and 1 in @minor The return value would be 0x0101

NOTE: if you only care about returned value, but not major and minor values, set both @major & @minor arguments to NULL.

Package

capstone/raw.

Source

raw.lisp.

Function: version ()

Return the CAPSTONE version as two values MAJOR and MINOR.

Package

capstone.

Source

capstone.lisp.


5.1.3 Generic functions

Generic Reader: address (object)
Package

capstone/raw.

Methods
Reader Method: address ((capstone-instruction capstone-instruction))

automatically generated reader method

Source

capstone.lisp.

Target Slot

address.

Generic Reader: architecture (object)
Package

capstone.

Methods
Reader Method: architecture ((capstone-engine capstone-engine))

automatically generated reader method

Source

capstone.lisp.

Target Slot

architecture.

Generic Reader: bytes (condition)
Package

capstone/raw.

Methods
Reader Method: bytes ((capstone-instruction capstone-instruction))

automatically generated reader method

Source

capstone.lisp.

Target Slot

bytes.

Reader Method: bytes ((condition disassembly))
Source

capstone.lisp.

Target Slot

bytes.

Generic Function: disasm (engine bytes &key address count)

Disassemble BYTES with ENGINE using starting address ADDRESS. Optional argument COUNT may be supplied to limit the number of instructions disassembled.

Package

capstone.

Source

capstone.lisp.

Methods
Method: disasm ((engine capstone-engine) (bytes vector) &key address count)
Generic Reader: id (object)
Package

capstone/raw.

Methods
Reader Method: id ((capstone-instruction capstone-instruction))

automatically generated reader method

Source

capstone.lisp.

Target Slot

id.

Generic Reader: mnemonic (object)
Package

capstone/raw.

Methods
Reader Method: mnemonic ((capstone-instruction capstone-instruction))

automatically generated reader method

Source

capstone.lisp.

Target Slot

mnemonic.

Generic Reader: mode (object)
Package

capstone.

Methods
Reader Method: mode ((capstone-engine capstone-engine))

automatically generated reader method

Source

capstone.lisp.

Target Slot

mode.

Generic Reader: op-str (object)
Package

capstone/raw.

Methods
Reader Method: op-str ((capstone-instruction capstone-instruction))

automatically generated reader method

Source

capstone.lisp.

Target Slot

op-str.

Generic Function: operands (insn)

Method for extracting the operands information from a CAPSTONE-INSTRUCTION. May vary with architecture.

Package

capstone.

Source

capstone.lisp.

Methods
Method: operands ((insn capstone-instruction))

5.1.4 Standalone methods

Method: initialize-instance :after ((engine capstone-engine) &key)
Source

capstone.lisp.

Method: print-object ((obj capstone-instruction) stream)
Source

capstone.lisp.

Method: print-object ((obj capstone-engine) stream)
Source

capstone.lisp.

Reader Method: size ((capstone-instruction capstone-instruction))

automatically generated reader method

Package

fset.

Source

capstone.lisp.

Target Slot

size.


5.1.5 Conditions

Condition: capstone

Capstone error.

Package

capstone.

Source

capstone.lisp.

Direct superclasses

error.

Direct subclasses

disassembly.

Direct methods
Direct slots
Slot: code
Initform

(quote nil)

Initargs

:code

Readers

code.

Writers

This slot is read-only.

Slot: strerr
Initform

(quote nil)

Initargs

:strerr

Readers

strerr.

Writers

This slot is read-only.

Condition: disassembly

Capstone disassembly error.

Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone.

Direct methods

bytes.

Direct slots
Slot: bytes
Package

capstone/raw.

Initform

(quote nil)

Initargs

:bytes

Readers

bytes.

Writers

This slot is read-only.


Previous: , Up: Public Interface   [Contents][Index]

5.1.6 Classes

Class: capstone-engine
Package

capstone.

Source

capstone.lisp.

Direct methods
Direct slots
Slot: architecture
Type

keyword

Initform

(alexandria:required-argument :architecture)

Initargs

:architecture

Readers

architecture.

Writers

This slot is read-only.

Slot: mode
Type

(or keyword list)

Initform

(alexandria:required-argument :mode)

Initargs

:mode

Readers

mode.

Writers

This slot is read-only.

Slot: handle
Class: capstone-instruction
Package

capstone.

Source

capstone.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: id
Package

capstone/raw.

Type

integer

Initargs

:id

Readers

id.

Writers

This slot is read-only.

Slot: address
Package

capstone/raw.

Type

capstone::unsigned-integer

Initargs

:address

Readers

address.

Writers

This slot is read-only.

Slot: size
Package

fset.

Type

fixnum

Initargs

:size

Readers

size.

Writers

This slot is read-only.

Slot: bytes
Package

capstone/raw.

Type

(quote (simple-array (unsigned-byte 8)))

Initargs

:bytes

Readers

bytes.

Writers

This slot is read-only.

Slot: op-str
Package

capstone/raw.

Type

string

Initargs

:op-str

Readers

op-str.

Writers

This slot is read-only.

Slot: mnemonic
Package

capstone/raw.

Type

:keyword

Initargs

:mnemonic

Readers

mnemonic.

Writers

This slot is read-only.

Class: capstone-instruction/arm
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction.

Direct subclasses
Direct methods
Class: capstone-instruction/arm-a32
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction/arm.

Class: capstone-instruction/arm-t32
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction/arm.

Class: capstone-instruction/ppc
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction.

Direct subclasses
Class: capstone-instruction/ppc-32
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction/ppc.

Class: capstone-instruction/ppc-64
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction/ppc.

Class: capstone-instruction/x86
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction.

Direct subclasses
Direct methods
Class: capstone-instruction/x86-32
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction/x86.

Class: capstone-instruction/x86-64
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction/x86.


5.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.1 Ordinary functions

Function: cs-insn-group (handle instruction group-id)

Check if a disassembled instruction belong to a particular group.
Find the group id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...) Internally, this simply verifies if @group_id matches any member of insn->groups array.

NOTE: this API is only valid when detail option is ON (which is OFF by default).

WARN: when in ’diet’ mode, this API is irrelevant because the engine does not
update @groups array.

@handle: handle returned by cs_open()
@insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter() @group_id: group that you want to check if this instruction belong to.

@return: true if this instruction indeed belongs to the given group, or false otherwise.

Package

capstone/raw.

Source

raw.lisp.

Function: cs-option (handle type value)

Set option for disassembling engine at runtime

@handle: handle returned by cs_open()
@type: type of option to be set
@value: option value corresponding with @type

@return: CS_ERR_OK on success, or other value on failure.
Refer to cs_err enum for detailed error.

NOTE: in the case of CS_OPT_MEM, handle’s value can be anything, so that cs_option(handle, CS_OPT_MEM, value) can (i.e must) be called even before cs_open()

Package

capstone/raw.

Source

raw.lisp.

Function: cs-reg-write (handle instruction register-id)

Check if a disassembled instruction IMPLICITLY modified a particular register.
Find the register id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...) Internally, this simply verifies if @reg_id matches any member of insn->regs_write array.

NOTE: this API is only valid when detail option is ON (which is OFF by default)

WARN: when in ’diet’ mode, this API is irrelevant because the engine does not
update @regs_write array.

@insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
@reg_id: register that you want to check if this instruction modified it.

@return: true if this instruction indeed implicitly modified the given register, or false otherwise.

Package

capstone/raw.

Source

raw.lisp.

Function: make-instruction (insn-class insn)

Create an object of class INSN-CLASS for the instruction INSN

Package

capstone.

Source

capstone.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.2 Generic functions

Generic Function: capstone-insn-to-string (insn)

Convert a capstone instruction object to a string that is suitable for use by keystone.

Package

capstone.

Source

capstone.lisp.

Methods
Method: capstone-insn-to-string ((insn capstone-instruction))
Generic Function: capstone-instruction-class (engine)

The name of the subclass of CAPSTONE-INSTRUCTION for the particular architecture, or CAPSTONE-INSTRUCTION if there is such proper subclass.

Package

capstone.

Source

capstone.lisp.

Methods
Method: capstone-instruction-class ((engine capstone-engine))
Generic Reader: code (condition)
Package

capstone.

Methods
Reader Method: code ((condition capstone))
Source

capstone.lisp.

Target Slot

code.

Generic Function: opstring-to-tokens (insn string)

Method for parsing operand string to list of tokens, with distinct methods per architecture.

Package

capstone.

Source

capstone.lisp.

Methods
Method: opstring-to-tokens ((insn capstone-instruction/x86) string)
Method: opstring-to-tokens ((insn capstone-instruction/arm) string)
Generic Function: parse-operand (insn string)

Method to convert single token from string format to token, specialized for the architecture. This may include, for example, converting numeric values in various bases, recognizing known register names, etc.

Package

capstone.

Source

capstone.lisp.

Methods
Method: parse-operand ((insn capstone-instruction/arm) tok)
Method: parse-operand ((insn capstone-instruction/x86) tok)
Generic Function: parse-operands-list (insn oplist)

Method for parsing operand list, with distinct methods per architecture.

Package

capstone.

Source

capstone.lisp.

Methods
Method: parse-operands-list ((insn capstone-instruction/arm) oplist)
Method: parse-operands-list ((insn capstone-instruction/x86) oplist)
Method: parse-operands-list ((insn capstone-instruction) oplist)
Generic Reader: strerr (condition)
Package

capstone.

Methods
Reader Method: strerr ((condition capstone))
Source

capstone.lisp.

Target Slot

strerr.


Previous: , Up: Internals   [Contents][Index]

5.2.3 Classes

Class: capstone-instruction/arm-a64
Package

capstone.

Source

capstone.lisp.

Direct superclasses

capstone-instruction/arm.

Class: cs-insn-tclass
Package

capstone/raw.

Source

raw.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   A   B   C   D   F   G   I   M   O   P   S   V  
Index Entry  Section

A
address: Public generic functions
address: Public generic functions
architecture: Public generic functions
architecture: Public generic functions

B
bytes: Public generic functions
bytes: Public generic functions
bytes: Public generic functions

C
capstone-insn-to-string: Private generic functions
capstone-insn-to-string: Private generic functions
capstone-instruction-class: Private generic functions
capstone-instruction-class: Private generic functions
code: Private generic functions
code: Private generic functions
cs-close: Public ordinary functions
cs-disasm: Public ordinary functions
cs-disasm-iter: Public ordinary functions
cs-errno: Public ordinary functions
cs-free: Public ordinary functions
cs-group-name: Public ordinary functions
cs-insn-group: Private ordinary functions
cs-insn-name: Public ordinary functions
cs-malloc: Public ordinary functions
cs-op-count: Public ordinary functions
cs-op-index: Public ordinary functions
cs-open: Public ordinary functions
cs-option: Private ordinary functions
cs-reg-name: Public ordinary functions
cs-reg-read: Public ordinary functions
cs-reg-write: Private ordinary functions
cs-strerror: Public ordinary functions
cs-support: Public ordinary functions
cs-version: Public ordinary functions

D
disasm: Public generic functions
disasm: Public generic functions
disasm-iter: Public macros

F
Function, cs-close: Public ordinary functions
Function, cs-disasm: Public ordinary functions
Function, cs-disasm-iter: Public ordinary functions
Function, cs-errno: Public ordinary functions
Function, cs-free: Public ordinary functions
Function, cs-group-name: Public ordinary functions
Function, cs-insn-group: Private ordinary functions
Function, cs-insn-name: Public ordinary functions
Function, cs-malloc: Public ordinary functions
Function, cs-op-count: Public ordinary functions
Function, cs-op-index: Public ordinary functions
Function, cs-open: Public ordinary functions
Function, cs-option: Private ordinary functions
Function, cs-reg-name: Public ordinary functions
Function, cs-reg-read: Public ordinary functions
Function, cs-reg-write: Private ordinary functions
Function, cs-strerror: Public ordinary functions
Function, cs-support: Public ordinary functions
Function, cs-version: Public ordinary functions
Function, make-instruction: Private ordinary functions
Function, version: Public ordinary functions

G
Generic Function, address: Public generic functions
Generic Function, architecture: Public generic functions
Generic Function, bytes: Public generic functions
Generic Function, capstone-insn-to-string: Private generic functions
Generic Function, capstone-instruction-class: Private generic functions
Generic Function, code: Private generic functions
Generic Function, disasm: Public generic functions
Generic Function, id: Public generic functions
Generic Function, mnemonic: Public generic functions
Generic Function, mode: Public generic functions
Generic Function, op-str: Public generic functions
Generic Function, operands: Public generic functions
Generic Function, opstring-to-tokens: Private generic functions
Generic Function, parse-operand: Private generic functions
Generic Function, parse-operands-list: Private generic functions
Generic Function, strerr: Private generic functions

I
id: Public generic functions
id: Public generic functions
initialize-instance: Public standalone methods

M
Macro, disasm-iter: Public macros
make-instruction: Private ordinary functions
Method, address: Public generic functions
Method, architecture: Public generic functions
Method, bytes: Public generic functions
Method, bytes: Public generic functions
Method, capstone-insn-to-string: Private generic functions
Method, capstone-instruction-class: Private generic functions
Method, code: Private generic functions
Method, disasm: Public generic functions
Method, id: Public generic functions
Method, initialize-instance: Public standalone methods
Method, mnemonic: Public generic functions
Method, mode: Public generic functions
Method, op-str: Public generic functions
Method, operands: Public generic functions
Method, opstring-to-tokens: Private generic functions
Method, opstring-to-tokens: Private generic functions
Method, parse-operand: Private generic functions
Method, parse-operand: Private generic functions
Method, parse-operands-list: Private generic functions
Method, parse-operands-list: Private generic functions
Method, parse-operands-list: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, size: Public standalone methods
Method, strerr: Private generic functions
mnemonic: Public generic functions
mnemonic: Public generic functions
mode: Public generic functions
mode: Public generic functions

O
op-str: Public generic functions
op-str: Public generic functions
operands: Public generic functions
operands: Public generic functions
opstring-to-tokens: Private generic functions
opstring-to-tokens: Private generic functions
opstring-to-tokens: Private generic functions

P
parse-operand: Private generic functions
parse-operand: Private generic functions
parse-operand: Private generic functions
parse-operands-list: Private generic functions
parse-operands-list: Private generic functions
parse-operands-list: Private generic functions
parse-operands-list: Private generic functions
print-object: Public standalone methods
print-object: Public standalone methods

S
size: Public standalone methods
strerr: Private generic functions
strerr: Private generic functions

V
version: Public ordinary functions

Jump to:   A   B   C   D   F   G   I   M   O   P   S   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   F   G   P   R   S  
Index Entry  Section

C
capstone: The capstone system
capstone: The capstone package
capstone: Public conditions
capstone-engine: Public classes
capstone-instruction: Public classes
capstone-instruction/arm: Public classes
capstone-instruction/arm-a32: Public classes
capstone-instruction/arm-a64: Private classes
capstone-instruction/arm-t32: Public classes
capstone-instruction/ppc: Public classes
capstone-instruction/ppc-32: Public classes
capstone-instruction/ppc-64: Public classes
capstone-instruction/x86: Public classes
capstone-instruction/x86-32: Public classes
capstone-instruction/x86-64: Public classes
capstone.asd: The capstone/capstone․asd file
capstone.lisp: The capstone/capstone․lisp file
capstone/raw: The capstone/raw system
capstone/raw: The capstone/raw package
Class, capstone-engine: Public classes
Class, capstone-instruction: Public classes
Class, capstone-instruction/arm: Public classes
Class, capstone-instruction/arm-a32: Public classes
Class, capstone-instruction/arm-a64: Private classes
Class, capstone-instruction/arm-t32: Public classes
Class, capstone-instruction/ppc: Public classes
Class, capstone-instruction/ppc-32: Public classes
Class, capstone-instruction/ppc-64: Public classes
Class, capstone-instruction/x86: Public classes
Class, capstone-instruction/x86-32: Public classes
Class, capstone-instruction/x86-64: Public classes
Class, cs-insn-tclass: Private classes
Condition, capstone: Public conditions
Condition, disassembly: Public conditions
cs-insn-tclass: Private classes

D
disassembly: Public conditions

F
File, capstone.asd: The capstone/capstone․asd file
File, capstone.lisp: The capstone/capstone․lisp file
File, grovel.lisp: The capstone/raw/grovel․lisp file
File, package.lisp: The capstone/raw/package․lisp file
File, raw.lisp: The capstone/raw/raw․lisp file

G
grovel.lisp: The capstone/raw/grovel․lisp file

P
Package, capstone: The capstone package
Package, capstone/raw: The capstone/raw package
package.lisp: The capstone/raw/package․lisp file

R
raw.lisp: The capstone/raw/raw․lisp file

S
System, capstone: The capstone system
System, capstone/raw: The capstone/raw system

Jump to:   C   D   F   G   P   R   S