Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SPRX Send HTTP To CCAPI or WebMan
- static int connect_to_CAPPI(void)
- {
- struct sockaddr_in sin;
- int s;
- sin.sin_family = AF_INET;
- sin.sin_addr.s_addr = 0x7F000001; //127.0.0.1 (localhost)
- sin.sin_port = htons(6333);
- s = socket(AF_INET, SOCK_STREAM, 0);
- if (s < 0)
- {
- return -1;
- }
- if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0)
- {
- return -1;
- }
- return s;
- }
- static int connect_to_webman(void)
- {
- struct sockaddr_in sin;
- int s;
- sin.sin_family = AF_INET;
- sin.sin_addr.s_addr = 0x7F000001; //127.0.0.1 (localhost)
- sin.sin_port = htons(80); //http port (80)
- s = socket(AF_INET, SOCK_STREAM, 0);
- if (s < 0)
- {
- return -1;
- }
- if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0)
- {
- return -1;
- }
- return s;
- }
- static void sclose(int *socket_e)
- {
- if (*socket_e != -1)
- {
- shutdown(*socket_e, SHUT_RDWR);
- socketclose(*socket_e);
- *socket_e = -1;
- }
- }
- static void send_wm_request(const char *cmd)
- {
- // send command
- int conn_s = -1;
- conn_s = connect_to_webman();
- struct timeval tv;
- tv.tv_usec = 0;
- tv.tv_sec = 3;
- setsockopt(conn_s, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
- setsockopt(conn_s, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
- if (conn_s >= 0)
- {
- char wm_cmd[1048];
- int cmd_len = sprintf(wm_cmd, "GET %s HTTP/1.0\r\n", cmd);
- send(conn_s, wm_cmd, cmd_len, 0);
- sclose(&conn_s);
- }
- }
- static void send_CCAPI_request(const char *cmd)
- {
- // send command
- int conn_s = -1;
- conn_s = connect_to_CAPPI();
- struct timeval tv;
- tv.tv_usec = 0;
- tv.tv_sec = 3;
- setsockopt(conn_s, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
- setsockopt(conn_s, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
- if (conn_s >= 0)
- {
- char wm_cmd[1048];
- int cmd_len = sprintf(wm_cmd, "GET %s HTTP/1.0\r\n", cmd);
- send(conn_s, wm_cmd, cmd_len, 0);
- sclose(&conn_s);
- }
- }
- void fixSpaces(char** szReturn) {
- char *str = *szReturn;
- char _returnStr[512];// = (char*)Malloc(128);
- _returnStr[0] = '\0';
- int dwStrIndex = 0;
- for (int i = 0; i < strlen(str) + 1; i++) {
- if (str[i] != 0x20) {
- _returnStr[dwStrIndex] = str[i];
- dwStrIndex++;
- }
- else
- {
- _returnStr[dwStrIndex] = '%';
- _returnStr[dwStrIndex + 1] = '2';
- _returnStr[dwStrIndex + 2] = '0';
- dwStrIndex += 3;
- }
- _returnStr[dwStrIndex] = '\0';
- }
- *szReturn = _returnStr;
- }
- void DoNotify(char *szFormat,int id = 0) {
- char _notify_buffer[512];
- if(CCAPI == true)
- {
- snprintf(_notify_buffer, 512, "/ccapi/notify?id=%i&msg=%s",id,szFormat);
- send_CCAPI_request(_notify_buffer);
- }
- else if(WebMan == true)
- {
- fixSpaces(&szFormat);
- snprintf(_notify_buffer, 512, "/notify.ps3mapi?msg=%s", szFormat);
- send_wm_request(_notify_buffer);
- }
- }
- void ShutDownPS3() {
- char _notify_buffer[512];
- if(CCAPI == true)
- {
- snprintf(_notify_buffer, 512, "/ccapi/shutdown?mode=1");
- send_CCAPI_request(_notify_buffer);
- }
- else if(WebMan == true)
- {
- snprintf(_notify_buffer, 512, "/shutdown.ps3");
- send_wm_request(_notify_buffer);
- }
- }
- void RestartPS3() {
- char _notify_buffer[512];
- if(CCAPI == true)
- {
- snprintf(_notify_buffer, 512, "/ccapi/shutdown?mode=2");
- send_CCAPI_request(_notify_buffer);
- }
- else if(WebMan == true)
- {
- snprintf(_notify_buffer, 512, "/restart.ps3");
- send_wm_request(_notify_buffer);
- }
- }
- void Buzzer(int snd = 1)
- {
- char _notify_buffer[512];
- if(CCAPI == true)
- {
- snprintf(_notify_buffer, 512, "/ccapi/ringbuzzer?type=%i",snd);
- send_CCAPI_request(_notify_buffer);
- }
- else if(WebMan == true)
- {
- snprintf(_notify_buffer, 512, "/buzzer.ps3mapi?mode=%i",snd);
- send_wm_request(_notify_buffer);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement