#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gccore.h>
#include <wiiuse/wpad.h>
#include <yuarel.h>
int main(int argc, char **argv) {
VIDEO_Init();
WPAD_Init();
GXRModeObj* rmode = VIDEO_GetPreferredMode(NULL);
void* xfb = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));
console_init(xfb,20,20,rmode->fbWidth,rmode->xfbHeight,rmode->fbWidth*VI_DISPLAY_PIX_SZ);
VIDEO_Configure(rmode);
VIDEO_SetNextFramebuffer(xfb);
VIDEO_SetBlack(FALSE);
VIDEO_Flush();
VIDEO_WaitVSync();
if(rmode->viTVMode&VI_NON_INTERLACE) VIDEO_WaitVSync();
printf("libwinyl Wii demo\n");
printf("libwinyl version: %s\n\n", version);
free(version);
printf("Initializing network... ");
char localip[16];
char gateway[16];
char netmask[16];
if (if_config(localip, netmask, gateway, 1, 20) >= 0) printf("done\n");
else {
printf("failed\n");
printf("HOME to exit\n");
while(1) {
WPAD_ScanPads();
if (WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) break;
VIDEO_WaitVSync();
}
exit(0);
}
printf("\n");
char url[] = "http://time.akamai.com/?iso";
printf("Sending request to %s\n", url);
printf("Parsing %s with yuarel\n\n", url);
struct yuarel urlinfo;
yuarel_parse(&urlinfo, url);
printf("Hostname: %s\n", urlinfo.host);
printf("Path: /%s\n", urlinfo.path);
printf("Query: %s\n\n", urlinfo.query);
printf("Calling winyl_open()\n");
char* final_url = malloc(1 + strlen(urlinfo.path) + 1 + strlen(urlinfo.query) + 1);
sprintf(final_url, "/%s?%s", urlinfo.path, urlinfo.query);
printf("Calling winyl_request()\n\n");
free(final_url);
printf(
"Response body: %s\n\n", res.
body);
printf("HOME to exit\n");
while(1) {
WPAD_ScanPads();
if (WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) exit(0);
VIDEO_WaitVSync();
}
return 0;
}
Contains the winyl_request function and related.
void winyl_response_close(winyl_response *response)
Frees memory used up by response.
winyl_response winyl_request(winyl *host, char *path, int flags)
Performs a HTTP request.
Represents a HTTP response.
Definition request.h:13
char * body
Response body.
Definition request.h:34
int status
HTTP status.
Definition request.h:22
char * status_text
HTTP status text.
Definition request.h:24
Represents a HTTP host.
Definition winyl.h:27
Contains functions related to the library version.
void winyl_version(char *version)
Writes the current winyl version into version.
int winyl_version_len()
Returns the winyl version length.
Contains the winyl_open function and related.
void winyl_close(winyl *host)
Frees memory used up by host.
winyl winyl_open(char *hostname, int port)
Opens an HTTP host with the specified port.