Outgoing SID API Calls

Once a Tcl program is loaded into the interpreter, it is able to make outgoing SID API calls, not merely respond to incoming ones. All SID API functions are exposed to Tcl as procedure hooks, in a very symmetric way to the incoming calls. Simply, each function in the incoming set has a shadow: sid::component::FUNCTION, sid::pin::FUNCTION or sid::bus::FUNCTION, as appropriate. Each outgoing procedure takes a receiver handle (the same opaque string passed in an incoming call) as its first argument.

There is no checking that would prevent an outgoing SID API call from becoming recursive and referring to the originating component, either directly or indirectly. As for all other components, infinite recursion prevention is the responsibility of the component author.

IncomingOutgoing
attribute_value $namesid::component::attribute_value $component $name
driven_h4 $pin $valuesid::pin::driven_h4 $pin $value

There are some special outgoing functions that function as constructors for local object handles.

sid::component::this

Returns an opaque string handle to this component.

sid::pin::new

Returns an opaque string handle to a new private C++ pin, usable as a return value to find_pin.

sid::bus::new

Returns an opaque string handle to a new private C++ bus, usable as a return value to find_bus.