= MobilityFirst Network Service API Design and Usage = == 1. Design == === 1.1 Basic Operations === === 1.2 Content Operations === === 1.3 Service Operations === == 2. Usage == === 2.1 Discussion === === 2.2 Examples === The following code snippet shows a simple C program written using the API that sends a message to another GUID identified endpoint and receives the corresponding response: {{{#!c #include <stdio.h> #include <stdlib.h> #include <mfapi.h> int main(int argc, char *argv[]) { struct Handle handle; //Choosing GUIDs 1 and 2 as reference int mine = 1, other = 2, sent = 0, received = 0, size = 65*1024; //Buffer to send and receive messages; I don't care about the content u_char buf[size]; //Requesting basic transport. Listening for GUID mine ret = mfopen(&handle, "basic\0", NULL, mine); if(ret) { fprintf(stderr, "receiver: mfopen error\n"); return (EXIT_FAILURE); } //Send message to other. No additional services requested sent = mfsend(&handle, buf, size, other, NULL); if (sent < 0) { fprintf (stderr,"mfsendmsg error\n"); return EXIT_FAILURE; } //Wait to receive new message received = mfrecv_blk(&handle, buf, size, NULL, 0); if (received < 0) { fprintf (stderr,"mfrecv_blk error\n"); return EXIT_FAILURE; } printf("Intended to send %d bytes, sent %d bytes, received %d bytes\n", size, sent, received); mfclose(&handle); return EXIT_SUCCESS; } }}}