# Lick Scry Reference

Here are Lick's scry endpoints. There's only a few and they're mostly just useful for debugging. All of Lick's scries are specified by a `$care`. The `$desk` field in the `$beak` must be empty (`%$`, e.g. `/=//=`).

The only novel data type is a `$name`, which is just a `$path` representing the name of a socket.

## `%a` - Read ports <a href="#a---read-ports" id="a---read-ports"></a>

A scry with a `$care` of `%a` will return a list of all registered IPC ports.

```
.^((list name:lick) %la /=//=/ports)
~[/hood/reciept/control /slick/control]
```

***

## `%d` - Port owner <a href="#d---port-owner" id="d---port-owner"></a>

A scry with a `$care` of `%d` and the socket `$name` in the `$spur` will return the `$duct` of the IPC port owner in a `+unit`, which is null if the socket doesn't exist.

```
.^((unit duct) %ld /=//=/[port-name])
[~ [i=/gall/use/slick/0w3.IZWEn/~nec t=[i=/dill t=~[//term/1]]]]
```

***

## `%u` - Port existance <a href="#u---port-existance" id="u---port-existance"></a>

A scry with a `$care` of `%u` and the socket `+name` in the `$spur` will return a `?` which is `%.y` if the socket exists in Lick's state.

```
.^(? %lu /=//=/slick/control)
%.y
```

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.urbit.org/urbit-os/kernel/lick/scry.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
