// ------------------------------------------------ // Function: smtp_new() // ------------------------------------------------ // Input: Server address // Network interface ID // Output: TRUE if succesful // ------------------------------------------------ // Description: Connects to a SMTP server and // starts a new mail session // ------------------------------------------------ BOOL smtp_new(IPV4 server, BYTE interface) { if(smtp_state != SMTP_IDLE) return FALSE; // ----------------- // connect to server // ----------------- if(!tcp_open(SOCKET_SMTP, tcp_get_port(), server, 25, interface)) return FALSE; if(!smtp_ok()) { smtp_quit(); return FALSE; } // ----------------- // send HELO command // ----------------- if(!tcp_send_text(SOCKET_SMTP, "HELO hermes\r\n")) { smtp_quit(); return FALSE; } if(!smtp_ok()) return FALSE; smtp_state = SMTP_FROM; return TRUE; }
void http_server_init(unsigned short port, int (*POST_handler)(unsigned short data_index, unsigned short data_len), int (*TagExpand_handler) (char tagID, unsigned short pos,unsigned short len) ) { int socket; POST_CallBack = POST_handler; TagExpand_HTTP = TagExpand_handler; socket = tcp_socket_open(port, http_control_process); if (socket > 0) { printf("TCP Socket %d created, port %d\n", socket, tcp_get_port(socket)); }else { if (socket == TCP_INVALID_SOCKET) { printf("Error opening a socket: increment TCP_MAX_SOCKETS=%d\n", TCP_MAX_SOCKETS); } if (socket == TCP_PORT_ALREADY_USED) { printf("Error opening a socket: Port %d already used\n", port); } return; // Error } if (tcp_listen(socket) < 0) { printf("Error: socket %d can not put in LISTEN state\n", socket); return; // Error }else { printf("TCP Socket %d listening on Port %d\n", socket, tcp_get_port(socket)); } }
RC_TYPE http_client_get_port(HTTP_CLIENT *p_self, int *p) { return tcp_get_port(&p_self->super, p); }
int http_get_port(http_t *client, int *port) { ASSERT(client); return tcp_get_port(&client->tcp, port); }