The bike-internals Reference Manual

This is the bike-internals Reference Manual, version 0.14.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 04:23:57 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 bike-internals

Common Lisp .Net Core Interop Internals

Maintainer

Dmitry Ignatiev

Author

Dmitry Ignatiev

License

MIT

Version

0.14.0

Dependencies
  • uiop (system).
  • alexandria (system).
  • global-vars (system).
  • cffi (system).
  • cl-ppcre (system).
  • split-sequence (system).
  • flexi-streams (system).
  • trivial-features (system).
  • trivial-garbage (system).
  • bordeaux-threads (system).
  • closer-mop (system).
Source

bike-internals.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 bike-internals/src

Source

bike-internals.asd.

Parent Component

bike-internals (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 bike-internals/bike-internals.asd

Source

bike-internals.asd.

Parent Component

bike-internals (system).

ASDF Systems

bike-internals.


4.1.2 bike-internals/src/internals-package.lisp

Source

bike-internals.asd.

Parent Component

src (module).

Packages

bike-internals.


4.1.3 bike-internals/src/features.lisp

Dependency

internals-package.lisp (file).

Source

bike-internals.asd.

Parent Component

src (module).


4.1.4 bike-internals/src/string-buffer.lisp

Dependency

features.lisp (file).

Source

bike-internals.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.5 bike-internals/src/internals-ffi.lisp

Dependency

string-buffer.lisp (file).

Source

bike-internals.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.6 bike-internals/src/rwlock.lisp

Dependency

internals-ffi.lisp (file).

Source

bike-internals.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 bike-internals/src/internals.lisp

Dependency

rwlock.lisp (file).

Source

bike-internals.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 bike-internals

Source

internals-package.lisp.

Use List
  • cffi.
  • cl-ppcre.
  • common-lisp.
  • flexi-streams.
  • global-vars.
  • split-sequence.
  • uiop/driver.
Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Constants

Constant: +coreclr-library-file+
Package

bike-internals.

Source

internals.lisp.

Constant: +interop-library-file+
Package

bike-internals.

Source

internals.lisp.

Constant: +pointer-bits+
Package

bike-internals.

Source

internals-ffi.lisp.

Constant: +pointer-size+
Package

bike-internals.

Source

internals-ffi.lisp.

Constant: +system-native-library-file+
Package

bike-internals.

Source

internals.lisp.


6.1.2 Special variables

Special Variable: *default-string-buffer-capacity*

Default capacity for STRING-BUFFER

Package

bike-internals.

Source

string-buffer.lisp.


6.1.3 Macros

Macro: define-foreign-library-once (name-and-options file)

Defines a foreign library NAME which maps to the specified FILE.
Unlike the original CFFI macro, it does not redefine the library
in case it is already defined and also does not use a sophisticated feature spec evaluation.

Package

bike-internals.

Source

internals-ffi.lisp.

Macro: required-slot (&key name message)
Package

bike-internals.

Source

internals.lisp.

Macro: use-foreign-library-once (name &key default-directories-only)
Package

bike-internals.

Source

internals-ffi.lisp.

Macro: with-read-lock ((rwlock) &body body)
Package

bike-internals.

Source

rwlock.lisp.

Macro: with-write-lock ((rwlock) &body body)
Package

bike-internals.

Source

rwlock.lisp.


6.1.4 Ordinary functions

Function: add-default-library-directory (path)
Package

bike-internals.

Source

internals-ffi.lisp.

Function: build-interop (&key rebuild enable-task-hack)
Package

bike-internals.

Source

internals.lisp.

Function: camel-case-string (designator &key capitalize handle-underscores handle-dot handle-whitespace prepend-underscore handle-percent)

Converts a DESIGNATOR which must be a STRING-DESIGNATOR to a string
replacing Lisp-style ‘naming-convention’ with ‘camelCase’.

:CAPITALIZE - non-NIL value designates that the result should be capitalized
as in ‘PascalCase’.
In case of the value being equal to ‘:FORCE’, this setting overrides ‘:HANDLE-PERCENT’ behavior described below.

:HANDLE-UNDERSCORES - non-NIL value designates that ‘_’ characters should be stripped and treated as word separators.

:HANDLE-DOT - non-NIL value designates that ‘.’ characters should be treated as word separators.

:HANDLE-WHITESPACE - non-NIL value designates that whitespace characters should be treated as word separators.
Additionally, such characters will be stripped in case the value equals to ‘:STRIP’ keyword.

:PREPEND-UNDERSCORE - non-NIL value designates whether the result should include a prepended underscore character, as in ‘_camelCase’.

:HANDLE-PERCENT - Value of ‘:STRIP’ designates that starting ‘%’ characters should be stripped.
Other non-NIL value designates that starting ‘%’ characters should be replaced with underscores. In this case, string capitalization is turned off unless the value of ‘:CAPITALIZE’ equals to ‘:FORCE’.

Package

bike-internals.

Source

string-buffer.lisp.

Function: copy-line-buffer (line-buffer)

Copies a LINE-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: copy-string-buffer (string-buffer)

Copies a STRING-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: find-coreclr ()

Returns full path to coreclr library or NIL if not found

Package

bike-internals.

Source

internals.lisp.

Function: find-interop (&optional build)
Package

bike-internals.

Source

internals.lisp.

Function: get-exe-path ()

Retrieves the path to current executable file

Package

bike-internals.

Source

internals-ffi.lisp.

Function: lb-line-start (line-buffer)

Retrieves current line start inside LINE-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: lb-position (line-buffer)

Retrieves current position inside LINE-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: lb-process-lines (line-buffer line-callback &optional skip-trailing-line)

Processes lines inside LINE-BUFFER using a LINE-CALLBACK.
LINE-BUFFER is destructively modified, and all the processed lines are removed from it.

SKIP-TRAILING-LINE - When non-NIL, skips the last line unless it ends with #Newline.

Package

bike-internals.

Source

string-buffer.lisp.

Function: lb-seen-cr-p (line-buffer)

Returns non-NIL in case of previous character inside LINE-BUFFER was a #Return.

Package

bike-internals.

Source

string-buffer.lisp.

Function: lb-shift (line-buffer)

Removes characters from LINE-BUFFER up to the beginning of the current line.

Package

bike-internals.

Source

string-buffer.lisp.

Function: line-buffer-p (object)
Package

bike-internals.

Source

string-buffer.lisp.

Function: lisp-case-string (designator &key case handle-underscores handle-whitespace handle-dot suffix prefix)

Converts a DESIGNATOR which must be a STRING-DESIGNATOR to a string
in a Lisp-style ‘naming-convention’ instead of a ‘camelCase’ one.

:HANDLE-UNDERSCORES - non-NIL value designates that ‘_’ characters should
be treated as word separators.

:HANDLE-DOT - non-NIL value designates that ‘.’ characters should
be treated as word separators.

:HANDLE-WHITESPACE - non-NIL value designates that whitespace characters should be treated as word separators.

:PREFIX - either NIL or a string designator which would be prepended to the result.

:SUFFIX - either NIL or a string designator which would be appended to the result.

Package

bike-internals.

Source

string-buffer.lisp.

Function: load-foreign-library-once (name &key default-directories-only)

Like CFFI:LOAD-FOREIGN-LIBRARY but ensures that the library is only loaded once.

:DEFAULT-DIRECTORIES-ONLY - unless non-NIL, specifies that the library search
should only be performed in default directories for the platform. Currently only used on Windows.

Package

bike-internals.

Source

internals-ffi.lisp.

Function: make-line-buffer (&optional capacity)

Allocates a line buffer which can hold CAPACITY characters initially.

Package

bike-internals.

Source

string-buffer.lisp.

Function: make-line-output-callback (stream)

Creates a LINE-CALLBACK which outputs lines to a STREAM.

Package

bike-internals.

Source

string-buffer.lisp.

Function: make-rwlock (&key name)

Creates an instance of Read-Write lock with read preferrence

Package

bike-internals.

Source

rwlock.lisp.

Function: make-simple-character-string (length)

Allocates a SIMPLE-CHARACTER-STRING that can hold LENGTH characters.

Package

bike-internals.

Source

string-buffer.lisp.

Function: make-string-buffer (&optional capacity)

Allocates a string buffer which can hold CAPACITY characters initially.

Package

bike-internals.

Source

string-buffer.lisp.

Function: native-path (path)

Retrieves native namestring for the file or directory

Package

bike-internals.

Source

internals-ffi.lisp.

Function: process-string-lines (string &key line-callback start end line-start seen-cr skip-trailing-line)

Processes lines of a STRING and applies a LINE-CALLBACK to each line.

:START - Designates starting position inside STRING.

:END - Process characters until this position inside STRING.

:LINE-START - Designates previous line start position inside STRING.

:SEEN-CR - Designates whether previous call to this function stumbled upon #Return character.

:SKIP-TRAILING-LINE - When non-NIL, skips the last line.

Package

bike-internals.

Source

string-buffer.lisp.

Function: remove-default-library-directory (path)
Package

bike-internals.

Source

internals-ffi.lisp.

Function: rwlock-name (rwlock)

Retrieves name of a read-write lock

Package

bike-internals.

Source

rwlock.lisp.

Function: rwlockp (object)
Package

bike-internals.

Source

rwlock.lisp.

Function: sb-append-format (string-buffer control-string &rest args)

Appends a formatted string to STRING-BUFFER using FORMAT function.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-append-line (string-buffer &optional string start end)

Appends a STRING followed by a #Newline to a STRING-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-append-string (string-buffer string &key start end)

Appends a STRING to the end of STRING-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-capacity (string-buffer)

Retrieves capacity of a STRING-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-data (string-buffer)

Retrieves data vector of a STRING-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-delete (string-buffer &key start end)

Removes characters from a STRING-BUFFER
in the range from the START index and below the END index.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-ensure-capacity (string-buffer required-capacity)

Ensures that a STRING-BUFFER can hold at least REQUIRED-CAPACITY characters.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-extend (string-buffer count)

Extends length of a STRING-BUFFER by COUNT characters.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-insert-string (string-buffer string &key start1 end1 start2 end2)

Inserts a STRING in the STRING-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-length (string-buffer)

Retrieves current length of a STRING-BUFFER.

Package

bike-internals.

Source

string-buffer.lisp.

Function: (setf sb-length) (string-buffer)

Sets new length for string-buffer

Package

bike-internals.

Source

string-buffer.lisp.

Function: sb-string (string-buffer)

Retrieves the contents of a STRING-BUFFER as a string, taking its length into account.

Package

bike-internals.

Source

string-buffer.lisp.

Function: simple-character-string (designator)

Converts a STRING-DESIGNATOR to a SIMPLE-CHARACTER-STRING.

Package

bike-internals.

Source

string-buffer.lisp.

Function: simple-character-string-upcase (designator)

Converts a STRING-DESIGNATOR to an upper-case SIMPLE-CHARACTER-STRING.

Package

bike-internals.

Source

string-buffer.lisp.

Function: string-buffer-p (object)
Package

bike-internals.

Source

string-buffer.lisp.

Function: whitespace-char-p (c)

Returns Non-NIL value in case of character being a white space character.

Package

bike-internals.

Source

string-buffer.lisp.


6.1.5 Generic functions

Generic Reader: slot-initializer-missing-message (condition)
Package

bike-internals.

Methods
Reader Method: slot-initializer-missing-message ((condition slot-initializer-missing))
Source

internals.lisp.

Target Slot

message.


6.1.6 Standalone methods

Method: expand-from-foreign (int (type dotnet-char-type))
Package

cffi.

Source

internals-ffi.lisp.

Method: expand-to-foreign (char (type dotnet-char-type))
Package

cffi.

Source

internals-ffi.lisp.

Method: translate-from-foreign (int (type dotnet-char-type))
Package

cffi.

Source

internals-ffi.lisp.

Method: translate-to-foreign (char (type dotnet-char-type))
Package

cffi.

Source

internals-ffi.lisp.


6.1.7 Conditions

Condition: slot-initializer-missing
Package

bike-internals.

Source

internals.lisp.

Direct superclasses

cell-error.

Direct methods

slot-initializer-missing-message.

Direct slots
Slot: message
Initform

(quote nil)

Initargs

:message

Readers

slot-initializer-missing-message.

Writers

This slot is read-only.


6.1.8 Structures

Structure: line-buffer

A line buffer

Package

bike-internals.

Source

string-buffer.lisp.

Direct superclasses

string-buffer.

Direct slots
Slot: line-start
Type

alexandria:array-index

Initform

0

Readers

%lb-line-start.

Writers

(setf %lb-line-start).

Slot: pos
Type

alexandria:array-index

Initform

0

Readers

%lb-pos.

Writers

(setf %lb-pos).

Slot: seen-cr
Type

boolean

Readers

%lb-seen-cr.

Writers

(setf %lb-seen-cr).

Structure: rwlock

Read-Write lock with read preferrence

Package

bike-internals.

Source

rwlock.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Type

(or null string)

Readers

%rwlock-name.

Writers

(setf %rwlock-name).

Slot: cv-lock
Type

bt2:lock

Initform

(bt2:make-lock)

Readers

%rwlock-cv-lock.

Writers

This slot is read-only.

Slot: reader-cv
Type

bt2:condition-variable

Initform

(bt2:make-condition-variable)

Readers

%rwlock-reader-cv.

Writers

This slot is read-only.

Slot: writer-cv
Type

bt2:condition-variable

Initform

(bt2:make-condition-variable)

Readers

%rwlock-writer-cv.

Writers

This slot is read-only.

Slot: upgrade-cv
Type

bt2:condition-variable

Initform

(bt2:make-condition-variable)

Readers

%rwlock-upgrade-cv.

Writers

This slot is read-only.

Slot: reader-count
Type

fixnum

Initform

0

Readers

%rwlock-reader-count.

Writers

(setf %rwlock-reader-count).

Slot: writer-count
Type

fixnum

Initform

0

Readers

%rwlock-writer-count.

Writers

(setf %rwlock-writer-count).

Slot: upgrading-count
Type

fixnum

Initform

0

Readers

%rwlock-upgrading-count.

Writers

(setf %rwlock-upgrading-count).

Slot: waiting-reader-count
Type

fixnum

Initform

0

Readers

%rwlock-waiting-reader-count.

Writers

(setf %rwlock-waiting-reader-count).

Slot: waiting-writer-count
Type

fixnum

Initform

0

Readers

%rwlock-waiting-writer-count.

Writers

(setf %rwlock-waiting-writer-count).

Slot: waiting-upgrade-count
Type

fixnum

Initform

0

Readers

%rwlock-waiting-upgrade-count.

Writers

(setf %rwlock-waiting-upgrade-count).

Slot: threads
Type

(or null bike-internals::rwlock-thread-info)

Readers

%rwlock-threads.

Writers

(setf %rwlock-threads).

Slot: writer
Type

(or null bt2:thread)

Readers

%rwlock-writer.

Writers

(setf %rwlock-writer).

Structure: string-buffer

A character buffer

Package

bike-internals.

Source

string-buffer.lisp.

Direct superclasses

structure-object.

Direct subclasses

line-buffer.

Direct slots
Slot: data
Type

bike-internals:simple-character-string

Initform

(bike-internals:make-simple-character-string bike-internals:*default-string-buffer-capacity*)

Readers

%sb-data.

Writers

(setf %sb-data).

Slot: cap
Type

(integer 1 17592186044415)

Initform

bike-internals:*default-string-buffer-capacity*

Readers

%sb-cap.

Writers

(setf %sb-cap).

Slot: len
Type

alexandria:array-index

Initform

0

Readers

%sb-len.

Writers

(setf %sb-len).


6.1.9 Types

Type: function-designator ()
Package

bike-internals.

Source

internals.lisp.

Type: line-callback ()

A function which is called on line processing

Package

bike-internals.

Source

string-buffer.lisp.

Type: simple-character-string ()

A simple one-dimensional array which element type is CHARACTER

Package

bike-internals.

Source

string-buffer.lisp.


6.2 Internals


6.2.1 Constants

Constant: +ascii-char-code-limit+
Package

bike-internals.

Source

string-buffer.lisp.

Constant: +max-string-buffer-capacity+
Package

bike-internals.

Source

string-buffer.lisp.


6.2.2 Ordinary functions

Function: %base-string-to-string (string &optional upcase)
Package

bike-internals.

Source

string-buffer.lisp.

Function: %find-by-command ()
Package

bike-internals.

Source

internals.lisp.

Function: %find-interop ()
Package

bike-internals.

Source

internals.lisp.

Function: %get-flexi-stream (in)
Package

bike-internals.

Source

internals.lisp.

Function: %lb-cap (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Function: (setf %lb-cap) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Function: %lb-data (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Function: (setf %lb-data) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Function: %lb-len (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Function: (setf %lb-len) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Reader: %lb-line-start (instance)
Writer: (setf %lb-line-start) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Target Slot

line-start.

Reader: %lb-pos (instance)
Writer: (setf %lb-pos) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Target Slot

pos.

Reader: %lb-seen-cr (instance)
Writer: (setf %lb-seen-cr) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Target Slot

seen-cr.

Function: %make-line-buffer (data cap len line-start pos seen-cr)
Package

bike-internals.

Source

string-buffer.lisp.

Function: %make-rwlock (name)
Package

bike-internals.

Source

rwlock.lisp.

Function: %make-string-buffer (data cap len)
Package

bike-internals.

Source

string-buffer.lisp.

Function: %maybe-string-upcase (string)
Package

bike-internals.

Source

string-buffer.lisp.

Reader: %rwlock-cv-lock (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

cv-lock.

Reader: %rwlock-name (instance)
Writer: (setf %rwlock-name) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

name.

Reader: %rwlock-reader-count (instance)
Writer: (setf %rwlock-reader-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

reader-count.

Reader: %rwlock-reader-cv (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

reader-cv.

Reader: %rwlock-threads (instance)
Writer: (setf %rwlock-threads) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

threads.

Reader: %rwlock-upgrade-cv (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

upgrade-cv.

Reader: %rwlock-upgrading-count (instance)
Writer: (setf %rwlock-upgrading-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

upgrading-count.

Reader: %rwlock-waiting-reader-count (instance)
Writer: (setf %rwlock-waiting-reader-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

waiting-reader-count.

Reader: %rwlock-waiting-upgrade-count (instance)
Writer: (setf %rwlock-waiting-upgrade-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

waiting-upgrade-count.

Reader: %rwlock-waiting-writer-count (instance)
Writer: (setf %rwlock-waiting-writer-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

waiting-writer-count.

Reader: %rwlock-writer (instance)
Writer: (setf %rwlock-writer) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

writer.

Reader: %rwlock-writer-count (instance)
Writer: (setf %rwlock-writer-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

writer-count.

Reader: %rwlock-writer-cv (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

writer-cv.

Reader: %sb-cap (instance)
Writer: (setf %sb-cap) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Target Slot

cap.

Reader: %sb-data (instance)
Writer: (setf %sb-data) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Target Slot

data.

Reader: %sb-len (instance)
Writer: (setf %sb-len) (instance)
Package

bike-internals.

Source

string-buffer.lisp.

Target Slot

len.

Function: %version-compare (left right)
Package

bike-internals.

Source

internals.lisp.

Function: %version> (left right)
Package

bike-internals.

Source

internals.lisp.

Function: clear-default-library-directories ()
Package

bike-internals.

Source

internals-ffi.lisp.

Function: make-rwlti (&key thread read-count write-count upgrade-count next)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-begin-read (rwlock)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-begin-write (rwlock)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-end-read (rwlock)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-end-write (rwlock)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-modify-count (rwlock thread &key reader-delta writer-delta upgrade-delta)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-thread-info (rwlock thread &optional alloc)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-thread-info-p (object)
Package

bike-internals.

Source

rwlock.lisp.

Function: rwlock-wait (rwlock wait-type)
Package

bike-internals.

Source

rwlock.lisp.

Reader: rwlti-next (instance)
Writer: (setf rwlti-next) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

next.

Reader: rwlti-read-count (instance)
Writer: (setf rwlti-read-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

read-count.

Reader: rwlti-thread (instance)
Writer: (setf rwlti-thread) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

thread.

Reader: rwlti-upgrade-count (instance)
Writer: (setf rwlti-upgrade-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

upgrade-count.

Reader: rwlti-write-count (instance)
Writer: (setf rwlti-write-count) (instance)
Package

bike-internals.

Source

rwlock.lisp.

Target Slot

write-count.


6.2.3 Structures

Structure: rwlock-thread-info
Package

bike-internals.

Source

rwlock.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: thread
Type

(or null bt2:thread)

Readers

rwlti-thread.

Writers

(setf rwlti-thread).

Slot: read-count
Type

alexandria:non-negative-fixnum

Initform

0

Readers

rwlti-read-count.

Writers

(setf rwlti-read-count).

Slot: write-count
Type

alexandria:non-negative-fixnum

Initform

0

Readers

rwlti-write-count.

Writers

(setf rwlti-write-count).

Slot: upgrade-count
Type

alexandria:non-negative-fixnum

Initform

0

Readers

rwlti-upgrade-count.

Writers

(setf rwlti-upgrade-count).

Slot: next
Type

(or null bike-internals::rwlock-thread-info)

Readers

rwlti-next.

Writers

(setf rwlti-next).


6.2.4 Classes

Class: dotnet-char-type
Package

bike-internals.

Source

internals-ffi.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct Default Initargs
InitargValue
:actual-type(quote (uint16))

Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   L   M   N   P   R   S   T   U   W  
Index Entry  Section

%
%base-string-to-string: Private ordinary functions
%find-by-command: Private ordinary functions
%find-interop: Private ordinary functions
%get-flexi-stream: Private ordinary functions
%lb-cap: Private ordinary functions
%lb-data: Private ordinary functions
%lb-len: Private ordinary functions
%lb-line-start: Private ordinary functions
%lb-pos: Private ordinary functions
%lb-seen-cr: Private ordinary functions
%make-line-buffer: Private ordinary functions
%make-rwlock: Private ordinary functions
%make-string-buffer: Private ordinary functions
%maybe-string-upcase: Private ordinary functions
%rwlock-cv-lock: Private ordinary functions
%rwlock-name: Private ordinary functions
%rwlock-reader-count: Private ordinary functions
%rwlock-reader-cv: Private ordinary functions
%rwlock-threads: Private ordinary functions
%rwlock-upgrade-cv: Private ordinary functions
%rwlock-upgrading-count: Private ordinary functions
%rwlock-waiting-reader-count: Private ordinary functions
%rwlock-waiting-upgrade-count: Private ordinary functions
%rwlock-waiting-writer-count: Private ordinary functions
%rwlock-writer: Private ordinary functions
%rwlock-writer-count: Private ordinary functions
%rwlock-writer-cv: Private ordinary functions
%sb-cap: Private ordinary functions
%sb-data: Private ordinary functions
%sb-len: Private ordinary functions
%version-compare: Private ordinary functions
%version>: Private ordinary functions

(
(setf %lb-cap): Private ordinary functions
(setf %lb-data): Private ordinary functions
(setf %lb-len): Private ordinary functions
(setf %lb-line-start): Private ordinary functions
(setf %lb-pos): Private ordinary functions
(setf %lb-seen-cr): Private ordinary functions
(setf %rwlock-name): Private ordinary functions
(setf %rwlock-reader-count): Private ordinary functions
(setf %rwlock-threads): Private ordinary functions
(setf %rwlock-upgrading-count): Private ordinary functions
(setf %rwlock-waiting-reader-count): Private ordinary functions
(setf %rwlock-waiting-upgrade-count): Private ordinary functions
(setf %rwlock-waiting-writer-count): Private ordinary functions
(setf %rwlock-writer): Private ordinary functions
(setf %rwlock-writer-count): Private ordinary functions
(setf %sb-cap): Private ordinary functions
(setf %sb-data): Private ordinary functions
(setf %sb-len): Private ordinary functions
(setf rwlti-next): Private ordinary functions
(setf rwlti-read-count): Private ordinary functions
(setf rwlti-thread): Private ordinary functions
(setf rwlti-upgrade-count): Private ordinary functions
(setf rwlti-write-count): Private ordinary functions
(setf sb-length): Public ordinary functions

A
add-default-library-directory: Public ordinary functions

B
build-interop: Public ordinary functions

C
camel-case-string: Public ordinary functions
clear-default-library-directories: Private ordinary functions
copy-line-buffer: Public ordinary functions
copy-string-buffer: Public ordinary functions

D
define-foreign-library-once: Public macros

E
expand-from-foreign: Public standalone methods
expand-to-foreign: Public standalone methods

F
find-coreclr: Public ordinary functions
find-interop: Public ordinary functions
Function, %base-string-to-string: Private ordinary functions
Function, %find-by-command: Private ordinary functions
Function, %find-interop: Private ordinary functions
Function, %get-flexi-stream: Private ordinary functions
Function, %lb-cap: Private ordinary functions
Function, %lb-data: Private ordinary functions
Function, %lb-len: Private ordinary functions
Function, %lb-line-start: Private ordinary functions
Function, %lb-pos: Private ordinary functions
Function, %lb-seen-cr: Private ordinary functions
Function, %make-line-buffer: Private ordinary functions
Function, %make-rwlock: Private ordinary functions
Function, %make-string-buffer: Private ordinary functions
Function, %maybe-string-upcase: Private ordinary functions
Function, %rwlock-cv-lock: Private ordinary functions
Function, %rwlock-name: Private ordinary functions
Function, %rwlock-reader-count: Private ordinary functions
Function, %rwlock-reader-cv: Private ordinary functions
Function, %rwlock-threads: Private ordinary functions
Function, %rwlock-upgrade-cv: Private ordinary functions
Function, %rwlock-upgrading-count: Private ordinary functions
Function, %rwlock-waiting-reader-count: Private ordinary functions
Function, %rwlock-waiting-upgrade-count: Private ordinary functions
Function, %rwlock-waiting-writer-count: Private ordinary functions
Function, %rwlock-writer: Private ordinary functions
Function, %rwlock-writer-count: Private ordinary functions
Function, %rwlock-writer-cv: Private ordinary functions
Function, %sb-cap: Private ordinary functions
Function, %sb-data: Private ordinary functions
Function, %sb-len: Private ordinary functions
Function, %version-compare: Private ordinary functions
Function, %version>: Private ordinary functions
Function, (setf %lb-cap): Private ordinary functions
Function, (setf %lb-data): Private ordinary functions
Function, (setf %lb-len): Private ordinary functions
Function, (setf %lb-line-start): Private ordinary functions
Function, (setf %lb-pos): Private ordinary functions
Function, (setf %lb-seen-cr): Private ordinary functions
Function, (setf %rwlock-name): Private ordinary functions
Function, (setf %rwlock-reader-count): Private ordinary functions
Function, (setf %rwlock-threads): Private ordinary functions
Function, (setf %rwlock-upgrading-count): Private ordinary functions
Function, (setf %rwlock-waiting-reader-count): Private ordinary functions
Function, (setf %rwlock-waiting-upgrade-count): Private ordinary functions
Function, (setf %rwlock-waiting-writer-count): Private ordinary functions
Function, (setf %rwlock-writer): Private ordinary functions
Function, (setf %rwlock-writer-count): Private ordinary functions
Function, (setf %sb-cap): Private ordinary functions
Function, (setf %sb-data): Private ordinary functions
Function, (setf %sb-len): Private ordinary functions
Function, (setf rwlti-next): Private ordinary functions
Function, (setf rwlti-read-count): Private ordinary functions
Function, (setf rwlti-thread): Private ordinary functions
Function, (setf rwlti-upgrade-count): Private ordinary functions
Function, (setf rwlti-write-count): Private ordinary functions
Function, (setf sb-length): Public ordinary functions
Function, add-default-library-directory: Public ordinary functions
Function, build-interop: Public ordinary functions
Function, camel-case-string: Public ordinary functions
Function, clear-default-library-directories: Private ordinary functions
Function, copy-line-buffer: Public ordinary functions
Function, copy-string-buffer: Public ordinary functions
Function, find-coreclr: Public ordinary functions
Function, find-interop: Public ordinary functions
Function, get-exe-path: Public ordinary functions
Function, lb-line-start: Public ordinary functions
Function, lb-position: Public ordinary functions
Function, lb-process-lines: Public ordinary functions
Function, lb-seen-cr-p: Public ordinary functions
Function, lb-shift: Public ordinary functions
Function, line-buffer-p: Public ordinary functions
Function, lisp-case-string: Public ordinary functions
Function, load-foreign-library-once: Public ordinary functions
Function, make-line-buffer: Public ordinary functions
Function, make-line-output-callback: Public ordinary functions
Function, make-rwlock: Public ordinary functions
Function, make-rwlti: Private ordinary functions
Function, make-simple-character-string: Public ordinary functions
Function, make-string-buffer: Public ordinary functions
Function, native-path: Public ordinary functions
Function, process-string-lines: Public ordinary functions
Function, remove-default-library-directory: Public ordinary functions
Function, rwlock-begin-read: Private ordinary functions
Function, rwlock-begin-write: Private ordinary functions
Function, rwlock-end-read: Private ordinary functions
Function, rwlock-end-write: Private ordinary functions
Function, rwlock-modify-count: Private ordinary functions
Function, rwlock-name: Public ordinary functions
Function, rwlock-thread-info: Private ordinary functions
Function, rwlock-thread-info-p: Private ordinary functions
Function, rwlock-wait: Private ordinary functions
Function, rwlockp: Public ordinary functions
Function, rwlti-next: Private ordinary functions
Function, rwlti-read-count: Private ordinary functions
Function, rwlti-thread: Private ordinary functions
Function, rwlti-upgrade-count: Private ordinary functions
Function, rwlti-write-count: Private ordinary functions
Function, sb-append-format: Public ordinary functions
Function, sb-append-line: Public ordinary functions
Function, sb-append-string: Public ordinary functions
Function, sb-capacity: Public ordinary functions
Function, sb-data: Public ordinary functions
Function, sb-delete: Public ordinary functions
Function, sb-ensure-capacity: Public ordinary functions
Function, sb-extend: Public ordinary functions
Function, sb-insert-string: Public ordinary functions
Function, sb-length: Public ordinary functions
Function, sb-string: Public ordinary functions
Function, simple-character-string: Public ordinary functions
Function, simple-character-string-upcase: Public ordinary functions
Function, string-buffer-p: Public ordinary functions
Function, whitespace-char-p: Public ordinary functions

G
Generic Function, slot-initializer-missing-message: Public generic functions
get-exe-path: Public ordinary functions

L
lb-line-start: Public ordinary functions
lb-position: Public ordinary functions
lb-process-lines: Public ordinary functions
lb-seen-cr-p: Public ordinary functions
lb-shift: Public ordinary functions
line-buffer-p: Public ordinary functions
lisp-case-string: Public ordinary functions
load-foreign-library-once: Public ordinary functions

M
Macro, define-foreign-library-once: Public macros
Macro, required-slot: Public macros
Macro, use-foreign-library-once: Public macros
Macro, with-read-lock: Public macros
Macro, with-write-lock: Public macros
make-line-buffer: Public ordinary functions
make-line-output-callback: Public ordinary functions
make-rwlock: Public ordinary functions
make-rwlti: Private ordinary functions
make-simple-character-string: Public ordinary functions
make-string-buffer: Public ordinary functions
Method, expand-from-foreign: Public standalone methods
Method, expand-to-foreign: Public standalone methods
Method, slot-initializer-missing-message: Public generic functions
Method, translate-from-foreign: Public standalone methods
Method, translate-to-foreign: Public standalone methods

N
native-path: Public ordinary functions

P
process-string-lines: Public ordinary functions

R
remove-default-library-directory: Public ordinary functions
required-slot: Public macros
rwlock-begin-read: Private ordinary functions
rwlock-begin-write: Private ordinary functions
rwlock-end-read: Private ordinary functions
rwlock-end-write: Private ordinary functions
rwlock-modify-count: Private ordinary functions
rwlock-name: Public ordinary functions
rwlock-thread-info: Private ordinary functions
rwlock-thread-info-p: Private ordinary functions
rwlock-wait: Private ordinary functions
rwlockp: Public ordinary functions
rwlti-next: Private ordinary functions
rwlti-read-count: Private ordinary functions
rwlti-thread: Private ordinary functions
rwlti-upgrade-count: Private ordinary functions
rwlti-write-count: Private ordinary functions

S
sb-append-format: Public ordinary functions
sb-append-line: Public ordinary functions
sb-append-string: Public ordinary functions
sb-capacity: Public ordinary functions
sb-data: Public ordinary functions
sb-delete: Public ordinary functions
sb-ensure-capacity: Public ordinary functions
sb-extend: Public ordinary functions
sb-insert-string: Public ordinary functions
sb-length: Public ordinary functions
sb-string: Public ordinary functions
simple-character-string: Public ordinary functions
simple-character-string-upcase: Public ordinary functions
slot-initializer-missing-message: Public generic functions
slot-initializer-missing-message: Public generic functions
string-buffer-p: Public ordinary functions

T
translate-from-foreign: Public standalone methods
translate-to-foreign: Public standalone methods

U
use-foreign-library-once: Public macros

W
whitespace-char-p: Public ordinary functions
with-read-lock: Public macros
with-write-lock: Public macros


A.3 Variables

Jump to:   *   +  
C   D   L   M   N   P   R   S   T   U   W  
Index Entry  Section

*
*default-string-buffer-capacity*: Public special variables

+
+ascii-char-code-limit+: Private constants
+coreclr-library-file+: Public constants
+interop-library-file+: Public constants
+max-string-buffer-capacity+: Private constants
+pointer-bits+: Public constants
+pointer-size+: Public constants
+system-native-library-file+: Public constants

C
cap: Public structures
Constant, +ascii-char-code-limit+: Private constants
Constant, +coreclr-library-file+: Public constants
Constant, +interop-library-file+: Public constants
Constant, +max-string-buffer-capacity+: Private constants
Constant, +pointer-bits+: Public constants
Constant, +pointer-size+: Public constants
Constant, +system-native-library-file+: Public constants
cv-lock: Public structures

D
data: Public structures

L
len: Public structures
line-start: Public structures

M
message: Public conditions

N
name: Public structures
next: Private structures

P
pos: Public structures

R
read-count: Private structures
reader-count: Public structures
reader-cv: Public structures

S
seen-cr: Public structures
Slot, cap: Public structures
Slot, cv-lock: Public structures
Slot, data: Public structures
Slot, len: Public structures
Slot, line-start: Public structures
Slot, message: Public conditions
Slot, name: Public structures
Slot, next: Private structures
Slot, pos: Public structures
Slot, read-count: Private structures
Slot, reader-count: Public structures
Slot, reader-cv: Public structures
Slot, seen-cr: Public structures
Slot, thread: Private structures
Slot, threads: Public structures
Slot, upgrade-count: Private structures
Slot, upgrade-cv: Public structures
Slot, upgrading-count: Public structures
Slot, waiting-reader-count: Public structures
Slot, waiting-upgrade-count: Public structures
Slot, waiting-writer-count: Public structures
Slot, write-count: Private structures
Slot, writer: Public structures
Slot, writer-count: Public structures
Slot, writer-cv: Public structures
Special Variable, *default-string-buffer-capacity*: Public special variables

T
thread: Private structures
threads: Public structures

U
upgrade-count: Private structures
upgrade-cv: Public structures
upgrading-count: Public structures

W
waiting-reader-count: Public structures
waiting-upgrade-count: Public structures
waiting-writer-count: Public structures
write-count: Private structures
writer: Public structures
writer-count: Public structures
writer-cv: Public structures


A.4 Data types

Jump to:   B   C   D   F   I   L   M   P   R   S   T  
Index Entry  Section

B
bike-internals: The bike-internals system
bike-internals: The bike-internals package
bike-internals.asd: The bike-internals/bike-internals․asd file

C
Class, dotnet-char-type: Private classes
Condition, slot-initializer-missing: Public conditions

D
dotnet-char-type: Private classes

F
features.lisp: The bike-internals/src/features․lisp file
File, bike-internals.asd: The bike-internals/bike-internals․asd file
File, features.lisp: The bike-internals/src/features․lisp file
File, internals-ffi.lisp: The bike-internals/src/internals-ffi․lisp file
File, internals-package.lisp: The bike-internals/src/internals-package․lisp file
File, internals.lisp: The bike-internals/src/internals․lisp file
File, rwlock.lisp: The bike-internals/src/rwlock․lisp file
File, string-buffer.lisp: The bike-internals/src/string-buffer․lisp file
function-designator: Public types

I
internals-ffi.lisp: The bike-internals/src/internals-ffi․lisp file
internals-package.lisp: The bike-internals/src/internals-package․lisp file
internals.lisp: The bike-internals/src/internals․lisp file

L
line-buffer: Public structures
line-callback: Public types

M
Module, src: The bike-internals/src module

P
Package, bike-internals: The bike-internals package

R
rwlock: Public structures
rwlock-thread-info: Private structures
rwlock.lisp: The bike-internals/src/rwlock․lisp file

S
simple-character-string: Public types
slot-initializer-missing: Public conditions
src: The bike-internals/src module
string-buffer: Public structures
string-buffer.lisp: The bike-internals/src/string-buffer․lisp file
Structure, line-buffer: Public structures
Structure, rwlock: Public structures
Structure, rwlock-thread-info: Private structures
Structure, string-buffer: Public structures
System, bike-internals: The bike-internals system

T
Type, function-designator: Public types
Type, line-callback: Public types
Type, simple-character-string: Public types