- curbyte += aimutil_put16(newpacket->data+curbyte, 0x0000); /* max channel?? */
- curbyte += aimutil_put32(newpacket->data+curbyte, 0x00000003); /* default flags?? */
- curbyte += aimutil_put16(newpacket->data+curbyte, 0x1f40); /* max msg size */
- curbyte += aimutil_put16(newpacket->data+curbyte, 0x03e7); /* maxsenderwarn */
- curbyte += aimutil_put16(newpacket->data+curbyte, 0x03e7); /* max recver warn */
- curbyte += aimutil_put32(newpacket->data+curbyte, 0x00000000); /* min msg interval */
+
+ /* This is read-only (in Parameter Reply). Must be set to zero here. */
+ curbyte += aimutil_put16(newpacket->data+curbyte, 0x0000);
+
+ /* These are all read-write */
+ curbyte += aimutil_put32(newpacket->data+curbyte, params->flags);
+ curbyte += aimutil_put16(newpacket->data+curbyte, params->maxmsglen);
+ curbyte += aimutil_put16(newpacket->data+curbyte, params->maxsenderwarn);
+ curbyte += aimutil_put16(newpacket->data+curbyte, params->maxrecverwarn);
+ curbyte += aimutil_put32(newpacket->data+curbyte, params->minmsginterval);