docs: document ncp23 bindery property layouts
This commit is contained in:
88
src/nwbind.c
88
src/nwbind.c
@@ -1498,6 +1498,21 @@ static void handle_fxx(int gelen, int func)
|
||||
} break;
|
||||
|
||||
case 0x39 : { /* create Property */
|
||||
/*
|
||||
* SDK 23/57 / wire 0x39 Create Property.
|
||||
* Request payload after SubFunctionCode:
|
||||
* word ObjectType (Hi-Lo)
|
||||
* byte ObjectNameLen
|
||||
* byte ObjectName[ObjectNameLen]
|
||||
* byte PropertyFlags
|
||||
* byte PropertySecurity
|
||||
* byte PropertyNameLen
|
||||
* byte PropertyName[PropertyNameLen]
|
||||
* Parser comparison: matches the documented field
|
||||
* order and ObjectType byte order.
|
||||
* Include/WebSDK cross-check: NWCreateProperty() in
|
||||
* nwbindry.h.
|
||||
*/
|
||||
uint8 *p = rdata;
|
||||
int object_type = GET_BE16(p);
|
||||
int object_namlen = (int) *(p+=2);
|
||||
@@ -1515,6 +1530,18 @@ static void handle_fxx(int gelen, int func)
|
||||
|
||||
|
||||
case 0x3a : { /* delete property */
|
||||
/*
|
||||
* SDK 23/58 / wire 0x3a Delete Property.
|
||||
* Request payload after SubFunctionCode:
|
||||
* word ObjectType (Hi-Lo)
|
||||
* byte ObjectNameLen
|
||||
* byte ObjectName[ObjectNameLen]
|
||||
* byte PropertyNameLen
|
||||
* byte PropertyName[PropertyNameLen]
|
||||
* Parser comparison: matches the documented layout.
|
||||
* Include/WebSDK cross-check: NWDeleteProperty() in
|
||||
* nwbindry.h.
|
||||
*/
|
||||
uint8 *p = rdata;
|
||||
int object_type = GET_BE16(p);
|
||||
int object_namlen = (int) *(p+2);
|
||||
@@ -1528,6 +1555,19 @@ static void handle_fxx(int gelen, int func)
|
||||
} break;
|
||||
|
||||
case 0x3b : { /* Change Prop Security */
|
||||
/*
|
||||
* SDK 23/59 / wire 0x3b Change Property Security.
|
||||
* Request payload after SubFunctionCode:
|
||||
* word ObjectType (Hi-Lo)
|
||||
* byte ObjectNameLen
|
||||
* byte ObjectName[ObjectNameLen]
|
||||
* byte NewPropertySecurity
|
||||
* byte PropertyNameLen
|
||||
* byte PropertyName[PropertyNameLen]
|
||||
* Parser comparison: matches the documented layout.
|
||||
* Include/WebSDK cross-check:
|
||||
* NWChangePropertySecurity() in nwbindry.h.
|
||||
*/
|
||||
uint8 *p = rdata;
|
||||
int object_type = GET_BE16(p);
|
||||
int object_namlen = (int) *(p+=2);
|
||||
@@ -1542,6 +1582,22 @@ static void handle_fxx(int gelen, int func)
|
||||
} break;
|
||||
|
||||
case 0x3c : { /* Scan Property */
|
||||
/*
|
||||
* SDK 23/60 / wire 0x3c Scan Property.
|
||||
* Request payload after SubFunctionCode:
|
||||
* word ObjectType (Hi-Lo)
|
||||
* byte ObjectNameLen
|
||||
* byte ObjectName[ObjectNameLen]
|
||||
* long LastInstance (Hi-Lo)
|
||||
* byte PropertyNameLen
|
||||
* byte SearchPropertyName[PropertyNameLen]
|
||||
* Reply: PropertyName[16], flags, security,
|
||||
* SearchInstance (Hi-Lo), ValueAvailable, and
|
||||
* MoreProperties. Parser/reply comparison matches
|
||||
* the documented layout.
|
||||
* Include/WebSDK cross-check: NWScanProperty() in
|
||||
* nwbindry.h.
|
||||
*/
|
||||
struct XDATA {
|
||||
uint8 prop_name[16];
|
||||
uint8 flags; /* set=2, dynamic=1 */
|
||||
@@ -1574,6 +1630,21 @@ static void handle_fxx(int gelen, int func)
|
||||
} break;
|
||||
|
||||
case 0x3d : { /* read Bindery Property Value */
|
||||
/*
|
||||
* SDK 23/61 / wire 0x3d Read Property Value.
|
||||
* Request payload after SubFunctionCode:
|
||||
* word ObjectType (Hi-Lo)
|
||||
* byte ObjectNameLen
|
||||
* byte ObjectName[ObjectNameLen]
|
||||
* byte SegmentNumber
|
||||
* byte PropertyNameLen
|
||||
* byte PropertyName[PropertyNameLen]
|
||||
* Reply: PropertyValue[128], MoreFlag, and
|
||||
* PropertyFlags. Parser/reply comparison matches the
|
||||
* documented layout.
|
||||
* Include/WebSDK cross-check: NWReadPropertyValue() in
|
||||
* nwbindry.h.
|
||||
*/
|
||||
struct XDATA {
|
||||
uint8 property_value[128];
|
||||
uint8 more_segments;
|
||||
@@ -1599,6 +1670,23 @@ static void handle_fxx(int gelen, int func)
|
||||
} break;
|
||||
|
||||
case 0x3e : { /* write Bindery Property Value */
|
||||
/*
|
||||
* SDK 23/62 / wire 0x3e Write Property Value.
|
||||
* Request payload after SubFunctionCode:
|
||||
* word ObjectType (Hi-Lo)
|
||||
* byte ObjectNameLen
|
||||
* byte ObjectName[ObjectNameLen]
|
||||
* byte SegmentNumber
|
||||
* byte MoreFlag
|
||||
* byte PropertyNameLen
|
||||
* byte PropertyName[PropertyNameLen]
|
||||
* byte PropertyValue[128]
|
||||
* Parser comparison: matches the documented field
|
||||
* order. The local variable is named erase_segment,
|
||||
* but it consumes the SDK MoreFlag byte.
|
||||
* Include/WebSDK cross-check: NWWritePropertyValue()
|
||||
* in nwbindry.h.
|
||||
*/
|
||||
uint8 *p = rdata;
|
||||
int object_type = GET_BE16(p);
|
||||
int object_namlen = (int) *(p+2);
|
||||
|
||||
Reference in New Issue
Block a user