UA_Int32 UA_indexedList_addValueToFront(UA_indexedList_List* list, UA_Int32 index, void* payload) { if(list==UA_NULL)return UA_ERROR; UA_list_Element* dllElem; UA_alloc((void**)&dllElem, sizeof(UA_list_Element)); UA_list_initElement(dllElem); UA_indexedList_Element* iilElem; UA_alloc((void**)&iilElem, sizeof(UA_indexedList_Element)); UA_indexedList_initElement(iilElem); iilElem->index = index; iilElem->father = dllElem; iilElem->payload = payload; dllElem->payload = iilElem; return UA_list_addElementToFront((UA_list_List*)list, dllElem); }
//TODO implement real nonce generator - DUMMY function UA_StatusCode UA_SecureChannel_generateNonce(UA_ByteString *nonce) { if(!(nonce->data = UA_alloc(1))) return UA_STATUSCODE_BADOUTOFMEMORY; nonce->length = 1; nonce->data[0] = 'a'; return UA_STATUSCODE_GOOD; }
END_TEST void myAddPayloadValueToFront(UA_list_List *list, UA_Int32 payloadValue) { UA_Int32* payload; UA_alloc((void**)&payload, sizeof(*payload)); *payload = payloadValue; UA_list_addPayloadToFront(list, payload); }
UA_Int32 UA_list_addPayloadToBack(UA_list_List* list, void* const payload){ if(list==UA_NULL)return UA_ERROR; UA_list_Element* elem; UA_alloc((void**)&elem, sizeof(*elem)); UA_list_initElement(elem); elem->payload = payload; UA_list_addElementToBack(list, elem); return UA_NO_ERROR; }
UA_Int32 UA_Text_decodeXmlFromStack(XML_Stack *s, XML_Attr *attr, UA_Byte **dst, _Bool isStart) { DBG_VERBOSE(printf("UA_String entered with dst=%p,isStart=%d\n", (void * )dst, isStart)); UA_UInt32 i; if(isStart) { if(dst == UA_NULL) { UA_alloc((void **)&dst, sizeof(void *)); s->parent[s->depth - 1].children[s->parent[s->depth - 1].activeChild].obj = (void *)dst; } // set attributes for(i = 0;attr[i];i += 2) { if(0 == strncmp("Data", attr[i], strlen("Data"))) { char *tmp; UA_alloc((void **)&tmp, strlen(attr[i+1])+1); strncpy(tmp, attr[i+1], strlen(attr[i+1])); tmp[strlen(attr[i+1])] = 0; *dst = (UA_Byte *)tmp; } else printf("UA_Text_decodeXml - Unknown attribute - name=%s, value=%s\n", attr[i], attr[i+1]); } } return UA_SUCCESS; }
void Service_GetEndpoints(UA_Server *server, const UA_GetEndpointsRequest *request, UA_GetEndpointsResponse *response) { UA_GetEndpointsResponse_init(response); response->endpointsSize = 1; response->endpoints = UA_alloc(sizeof(UA_EndpointDescription)); if(!response->endpoints) { response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; return; } if(UA_EndpointDescription_copy(server->endpointDescriptions, response->endpoints) != UA_STATUSCODE_GOOD) { UA_free(response->endpoints); response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY; } }
UA_Int32 UA_NodeSet_new(UA_NodeSet **p, UA_UInt32 nsid) { UA_alloc((void ** )p, sizeof(UA_NodeSet)); UA_NodeSet_init(*p, nsid); return UA_SUCCESS; }
UA_Int32 UA_NodeSetAliases_new(UA_NodeSetAliases **p) { UA_alloc((void ** )p, sizeof(UA_NodeSetAliases)); UA_NodeSetAliases_init(*p); return UA_SUCCESS; }
UA_Int32 UA_TypedArray_new(UA_TypedArray **p) { UA_alloc((void ** )p, sizeof(UA_TypedArray)); UA_TypedArray_init(*p); return UA_SUCCESS; }