| General Socket Options | 
| Option | Description | * | R | W | Value | Type | 
| SO_ATTACH_FILTER | Attach Filter | ? | ? | ? | Integer | int | 
| SO_BINDTODEVICE | Bind to Device | ? | ? | ? | String | char* | 
| SO_BROADCAST | Enable Broadcast | Y | Y | Y | Boolean | int | 
| SO_BSDCOMPAT | Request BSD bug-for-bug Compatibility | Y | Y | Y | Boolean | int | 
| SO_DEBUG | Enable Socket Debugging | Y | Y | Y | Boolean | int | 
| SO_DETACH_FILTER | Detach Filter | ? | ? | ? | Integer | int | 
| SO_DONTROUTE | Forbid Routing | Y | Y | Y | Boolean | int | 
| SO_ERROR | Last Error | Y | Y | Y | Integer | int | 
| SO_KEEPALIVE | Enable Keeping Connection Alive | Y | Y | Y | Boolean | int | 
| SO_LINGER | Linger Until Data Sent | Y | Y | Y | Linger | struct linger | 
| SO_NO_CHECK | No Checking | Y | Y | Y | Boolean | int | 
| SO_OOBINLINE | Place Out-of-Band Inline | Y | Y | Y | Boolean | int | 
| SO_PASSCRED | Enable Passing User Credentials | Y | Y | Y | Boolean | int | 
| SO_PEERCRED | Peer Credentials | Y | Y | Y | Credentials | struct ucred | 
| SO_PRIORITY | Set the queue priority | Y | Y | Y | Integer | int | 
| SO_RCVBUF | Receive Buffer Size | Y | Y | Y | Integer | int | 
| SO_RCVLOWAT | Receive Low Water Mark | Y | Y | N | Integer | int | 
| SO_RCVTIMEO | Receive Timeout | Y | Y | Y | Time | struct timeval | 
| SO_REUSEADDR | Reuse Address | Y | Y | Y | Boolean | int | 
| SO_REUSEPORT | Reuse Address (multicasting) | N | - | - | Boolean | int | 
| SO_SECURITY_AUTHENTICATION | Security Authentication | N | - | - | Integer | int | 
| SO_SECURITY_ENCRYPTION_NETWORK | Security Encryption Network | N | - | - | Integer | int | 
| SO_SECURITY_ENCRYPTION_TRANSPORT | Security Encryption Transport | N | - | - | Integer | int | 
| SO_SNDBUF | Send Buffer Size | Y | Y | Y | Integer | int | 
| SO_SNDLOWAT | Send Low Water Mark | Y | Y | Y | Integer | int | 
| SO_SNDTIMEO | Send Timeout | Y | Y | Y | Time | struct timeval | 
| SO_TYPE | Socket Type | Y | Y | Y | Integer | int |