fd = open("ttySAC2", O_RDWR | O_NOCTTY | O_NDELAY); //O_RDWR = Read Write
It returns 3 as the value of fd. I have not been able to find out the meaning of this value. I know if its -1, it's an error but apart from that, what does any other value signify?
The man page for open(2) is pretty clear. If it doesn't return -1, the value it does return is the file descriptor that should be used for subsequent calls to read() write() ioctl() and close().
Man pages in general have a section called "Return Value" that tell you what to expect back from a function. The page you link to also has this section. Sometimes you have to look for it, or use the search function of your browser to search the page. But it should always tell you what the return value is, or point you to another source of information.