Protocols/OSCAR/SNAC/FEEDBAG STATUS: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 19: | Line 19: | ||
== SNAC Data == | == SNAC Data == | ||
There will be a status code for each of the items in the original SNAC. | There will be a status code for each of the items in the original SNAC. | ||
{| border="1" | |||
! Length | |||
! Description | |||
|- | |||
| 4 bytes | |||
| Snac Request ID (this is the same as the request ID of the add/mod/del SNAC for which this is the ack) | |||
|- | |||
| 2 bytes | |||
| 0x0006 (if SSI family is greater than 1 and SNAC flags&0x8000) | |||
|- | |||
| 2 bytes | |||
| 0x0001 (if SSI family is greater than 1 and SNAC flags&0x8000) | |||
|- | |||
| 2 bytes | |||
| 0x0002 (if SSI family is greater than 1 and SNAC flags&0x8000) | |||
|- | |||
| 2 bytes | |||
| 0x0002 (if SSI family is greater than 1 and SNAC flags&0x8000) | |||
|- | |||
| 2 bytes | |||
| | |||
Flags: | |||
* 0x0000 - No errors | |||
* 0x0002 - Item you want to modify not found in list | |||
* 0x000a - Error adding item (maybe the group ID#/buddy ID# is already taken?)(maybe this screen name already exists in the give group?)(maybe the name is too long? or invalid?) I think should actually be 0x0010, but I haven't verified. | |||
* 0x000c - Could not add buddy because you already have the maximum number of buddies in your list | |||
* 0x000d - Tried to add an ICQ contact to an AIM list | |||
* 0x000e - Contact requires authorization. Send an authorization request, and modify this item so it's additional data contains an empty 0x0066 TLV. | |||
|} | |||
{| class="wikitable" | {| class="wikitable" | ||
! Name | ! Name | ||
Revision as of 10:55, 23 March 2020
| OSCAR Protocol |
| Introduction • Terms • Clients |
| Basic |
| Datatypes • FLAP • SNAC • TLV |
| UUIDs • Errors • Tool IDs |
| Host Interaction |
| Rate Limits • Migration • Messages |
| Other Services |
| ADMIN • ADVERT • ALERT |
| BART • BOS • BUCP • CHAT |
| CHAT_NAV |
| Tutorials |
| Sign On • BART • Rendezvous |
| ICBM • Locate • Buddies |
| Foodgroups |
| OSERVICE (0x0001) |
| LOCATE (0x0002) |
| BUDDY (0x0003) |
| ICBM (0x0004) |
| ADVERT (0x0005) |
| INVITE (0x0006) |
| ADMIN (0x0007) |
| POPUP (0x0008) |
| PD (0x0009) |
| USER_LOOKUP (0x000A) |
| STATS (0x000B) |
| TRANSLATE (0x000C) |
| CHAT_NAV (0x000D) |
| CHAT (0x000E) |
| ODIR (0x000F) |
| BART (0x0010) |
| FEEDBAG (0x0013) |
| ICQ (0x0015) |
| BUCP (0x0017) |
| ALERT (0x0018) |
| PLUGIN (0x0022) |
| UNNAMED_FG_24 (0x0024) |
| MDIR (0x0025) |
| ARS (0x044A) |
| ID | Origin | Name | Foodgroup | Service | Status | Version |
|---|---|---|---|---|---|---|
| 0x0013, 0x000E | Host | FEEDBAG__STATUS | Unspecified | BOS | Active | 4.0 |
These are the results of one of the insert/update/delete item SNACs from above.
SNAC Header
| Foodgroup | uint16 (word) | 00 13 |
| Subgroup | uint16 (word) | 00 0E |
| Flags | uint16 (word) | 00 00 |
| Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
There will be a status code for each of the items in the original SNAC.
| Length | Description |
|---|---|
| 4 bytes | Snac Request ID (this is the same as the request ID of the add/mod/del SNAC for which this is the ack) |
| 2 bytes | 0x0006 (if SSI family is greater than 1 and SNAC flags&0x8000) |
| 2 bytes | 0x0001 (if SSI family is greater than 1 and SNAC flags&0x8000) |
| 2 bytes | 0x0002 (if SSI family is greater than 1 and SNAC flags&0x8000) |
| 2 bytes | 0x0002 (if SSI family is greater than 1 and SNAC flags&0x8000) |
| 2 bytes |
Flags:
|
| Name | Type | Notes |
|---|---|---|
| statuses | Rest of SNAC array of uint16 (word) | [Class: FEEDBAG__STATUS_CODES] Results of the operation; one for each item in original SNAC |
Class: FEEDBAG__STATUS_CODES
These are the status codes returned from database operations.
| Name | Value | Notes |
|---|---|---|
| FEEDBAG__STATUS_CODES_SUCCESS | 0x00 | Success |
| FEEDBAG__STATUS_CODES_DB_ERROR | 0x01 | Some kind of database error |
| FEEDBAG__STATUS_CODES_NOT_FOUND | 0x02 | Item was not found for an update or delete |
| FEEDBAG__STATUS_CODES_ALREADY_EXISTS | 0x03 | Item already exists for an insert |
| FEEDBAG__STATUS_CODES_UNAVAILABLE | 0x05 | Server or database is not available |
| FEEDBAG__STATUS_CODES_BAD_REQUEST | 0x0A | Request was not formed well |
| FEEDBAG__STATUS_CODES_DB_TIME_OUT | 0x0B | Database timed out |
| FEEDBAG__STATUS_CODES_OVER_ROW_LIMIT | 0x0C | Too many items of this class for an insert |
| FEEDBAG__STATUS_CODES_NOT_EXECUTED | 0x0D | Due to other error in same request |
| FEEDBAG__STATUS_CODES_AUTH_REQUIRED | 0x0E | Buddy List authorization required |
| FEEDBAG__STATUS_CODES_AUTO_AUTH | 0x0F | NOT CURRENTLY DOCUMENTED |
| FEEDBAG__STATUS_CODES_BAD_LOGINID | 0x10 | Bad username |
| FEEDBAG__STATUS_CODES_OVER_BUDDY_LIMIT | 0x11 | Too many buddies |
| FEEDBAG__STATUS_CODES_INSERT_SMART_GROUP | 0x14 | Attempt to added a Buddy to a smart group |
| FEEDBAG__STATUS_CODES_TIMEOUT | 0x1A | General timeout |
FEEDBAG SNACs
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||