#include <p2kusb.h>

int main() {
	p2k_phone *ph;
	p2k_packet *ps;
	p2k_packet *pr;
	int pos;

	puts("Attempting connect...");
	ph = p2k_phone_connect_simple(P2K_DEFAULT_AT_VENDOR, P2K_DEFAULT_AT_PRODUCT, P2K_DEFAULT_P2K_VENDOR, P2K_DEFAULT_P2K_PRODUCT, "/dev/ttyACM0");

	if(ph == NULL) {
		puts("Error connecting to phone");
		return -1;
	}

	pos = 0;
	ps = p2k_packet_create(P2K_FSAC, 4);
	p2k_packet_put_u32(ps, &pos, P2K_FSAC_VOLUME_NAME);
	p2k_packet_set_data_size(ps, pos);

	puts("Attempting send...");
	if(p2k_phone_send(ph, ps) < 0) {
		puts("Error sending packet");
		return -1;
	}

	puts("Attempting receive...");
	pr = p2k_phone_recv(ph);

	if(pr == NULL) {
		puts("Error receiving packet");
		return -1;
	}

	char vol_name[256];
	pos = 0;
	p2k_packet_get_wstr_a(pr, &pos, vol_name, p2k_packet_get_data_size(pr) / 2);
	printf("Drive: %s\n", vol_name);

	p2k_packet_destroy(ps);
	p2k_packet_destroy(pr);
	
	return 0;
}
