+int SendGetResponsePDU(int fd, const PDU_t * pdu)
+{
+asn_enc_rval_t error;
+GetResponse_PDU_t msg;
+
+memset(&msg, 0, sizeof(msg));
+
+msg.request_id = pdu->request_id;
+asn_long2INTEGER(&msg.error_status, 0);
+asn_long2INTEGER(&msg.error_index, 0);
+
+VarBind_t vb;
+
+memset(&vb, 0, sizeof(vb));
+
+if (!String2OI(".1.3.6.1.4.1.9363.1", &vb.name))
+ {
+ printfd(__FILE__, "SendSetResponsePDU() - failed to convert string to OBJECT_IDENTIFIER\n");
+ return -1;
+ }
+
+ObjectSyntax_t * objectSyntax = &vb.value;
+objectSyntax->present = ObjectSyntax_PR_simple;
+SimpleSyntax_t * simpleSyntax = &objectSyntax->choice.simple;
+simpleSyntax->present = SimpleSyntax_PR_number;
+asn_long2INTEGER(&simpleSyntax->choice.number, 1);
+
+
+ASN_SEQUENCE_ADD(&msg.variable_bindings, &vb);
+
+/*const VarBindList_t * vbl = &pdu->variable_bindings;
+for (int i = 0; i < vbl->list.count; ++i)
+ {
+ VarBind_t * vb = pdu->variable_bindings.list.array[i];
+ printfd(__FILE__, "OID: %s\n", OI2String(&vb->name).c_str());
+ asn_fprint(stderr, &asn_DEF_ObjectSyntax, &vb->value);
+ }*/
+
+char buffer[1024];
+error = der_encode_to_buffer(&asn_DEF_GetResponse_PDU, &msg, buffer, sizeof(buffer));
+
+if (error.encoded == -1)
+ {
+ printfd(__FILE__, "Could not encode GetResponsePDU (at %s)\n",
+ error.failed_type ? error.failed_type->name : "unknown");
+ return -1;
+ }
+else
+ {
+ write(fd, buffer, error.encoded);
+ printfd(__FILE__, "GetResponsePDU encoded successfully to %d bytes\n", error.encoded);
+ }
+return 0;
+}
+
+int SendSetResponsePDU(int fd, const PDU_t * pdu)
+{
+//int oid[] = {1, 3, 6, 1, 4, 1, 9363, 1};
+asn_enc_rval_t error;
+GetResponse_PDU_t msg;
+
+memset(&msg, 0, sizeof(msg));
+
+msg.request_id = pdu->request_id;
+asn_long2INTEGER(&msg.error_status, PDU__error_status_readOnly);
+asn_long2INTEGER(&msg.error_index, 0);
+
+char buffer[1024];
+error = der_encode_to_buffer(&asn_DEF_GetResponse_PDU, &msg, buffer, sizeof(buffer));
+
+if (error.encoded == -1)
+ {
+ printfd(__FILE__, "Could not encode GetResponsePDU (at %s)\n",
+ error.failed_type ? error.failed_type->name : "unknown");
+ return -1;
+ }
+else
+ {
+ write(fd, buffer, error.encoded);
+ printfd(__FILE__, "GetResponsePDU encoded successfully to %d bytes\n", error.encoded);
+ }
+return 0;
+}
+