# NetOptionsBinding

`import { NetOptionsBinding } from "destack:net/binding";`

Socket option binding family.

```ds title="NetOptionsBinding"
export interface NetOptionsBinding {
    set(socket: SocketHandle, option: SocketOptionValue): Result<void, HostError>;
    get(socket: SocketHandle, option: SocketOption): Result<SocketOptionValue, HostError>;
    setRaw(socket: SocketHandle, option: RawSocketOption, value: &'a readonly [uint8]): Result<void, HostError>;
    getRaw(socket: SocketHandle, option: RawSocketOption, value: &'a [uint8]): Result<uint64, HostError>;
}
```

[language/library/src/net/binding/options.ds:215:259](https://github.com/destack-sh/destack/blob/main/language/library/src/net/binding/options.ds#L215-L259)

## Members

### `set(socket: SocketHandle, option: SocketOptionValue): Result<void, HostError>`

Set one normalized socket option.

### `get(socket: SocketHandle, option: SocketOption): Result<SocketOptionValue, HostError>`

Read one normalized socket option.

### `setRaw(socket: SocketHandle, option: RawSocketOption, value: &'a readonly [uint8]): Result<void, HostError>`

Set one raw socket option from bytes.

### `getRaw(socket: SocketHandle, option: RawSocketOption, value: &'a [uint8]): Result<uint64, HostError>`

Read one raw socket option into a caller-owned buffer.
