Changes made by Timo Kokkonen 20.5.1998 Changes that cpcs can listen any ip-address and send answer back to same address. src/pf/ Added new virtual methods in device.cpp and device.h - virtual void setAddr(const struct sockaddr &addr_); - virtual const struct sockaddr &getAddr(void) const; - virtual int readFromSocket(void); - virtual int writeToSocket(char *start_); Changed few lines in device.cpp - In method readCallback - Old line: _readBufferLength = ::read(_fd, _readBuffer, _bufferSize); - New line: _readBufferLength = readFromSocket(); - In method writeCallback - Old line: nbytes = ::write(_fd, start, _writeBufferLength); - New line: nbytes = writeToSocket(start); Added include in device.h - #include src/common/ Added new methods in udpsockdev.cpp and udpsockdev.h - virtual void setAddr(const struct sockaddr &addr_); - virtual const struct sockaddr &getAddr(void) const; - virtual int readFromSocket(void); - virtual int writeToSocket(char *start_); Added new data member in udpsockdev.h - struct sockaddr _addr; Changes to method tvUDPSocketDevice :: openDevice (in udpsockdev.cpp) if - else to check that is parameter remote_hostname_ given, if not then listen to all addresses (else part is new). if(remote_hostname_.length() != 0) { 'old' lines } else // accept any connection { addr.sin_addr.s_addr=INADDR_ANY; addr.sin_port = remote_port_; int addrLen = sizeof(addr); if (bind(_fd,(struct sockaddr *) &addr, addrLen) < 0) { setStatusError(); cerr << "tvUDPSocketDevice: Error in openDevice" << endl; perror("bind"); closeDevice(); return 1; } } src/iface/cpcsif/ Added new methods in cpcsdownprimitives.cpp, cpcsdownprimitives.h, cpcsupprimitives.cpp and cpcsupprimitives.h - void setAddress(const struct sockaddr &address_); - const struct sockaddr &getAddress(void) const; Added in cpcsdownprimitives.h and cpcsupprimitives.h data member and include - struct sockaddr _address; - #include src/protocol/cpcs/ Added few two lines in cpcsActiveState :: cpcsUNITDATAreqAct (in cpcsastate.cpp) - adapter->setAddr(messenger_->getAddress()); - msg->setAddress(adapter->getAddr()); Added one line in cpcsUDPAdapter :: readAction (in cpcsuadapter.cpp) message->setAddress(getAddr()); Added this file (CHANGES.TXT) Changes made by Timo Kokkonen 26.5.1998 src/pf/ - device.cpp and device.h Changed address struct type sockaddr -> sockaddr_in src/common/ - udpsockdev.cpp and udpsockdev.h Changed address struct type sockaddr -> sockaddr_in Added Address lock. src/iface/cpcsif/ - cpcsdownprimitives.cpp, cpcsdownprimitives.h, cpcsupprimitives.cpp and cpcsupprimitives.h Changed address struct type sockaddr -> sockaddr_in src/protocol/cpcs/ Edit this file.