Merge branch 'iphydf-new_api' into new_api

This commit is contained in:
irungentoo 2015-03-16 09:26:05 -04:00
commit 2757b254fe
No known key found for this signature in database
GPG Key ID: 10349DC9BED89E98
3 changed files with 36 additions and 31 deletions

View File

@ -615,7 +615,7 @@ loop_top:
uint16_t counter = 0; uint16_t counter = 0;
for (i = 0; i < NUM_TOXES; ++i) { for (i = 0; i < NUM_TOXES; ++i) {
for (j = 0; j < tox_friend_list_size(toxes[i]); ++j) for (j = 0; j < tox_self_get_friend_list_size(toxes[i]); ++j)
if (tox_friend_get_connection_status(toxes[i], j, 0) == TOX_CONNECTION_UDP) if (tox_friend_get_connection_status(toxes[i], j, 0) == TOX_CONNECTION_UDP)
++counter; ++counter;
} }

View File

@ -135,7 +135,7 @@ Tox *tox_new(const struct Tox_Options *options, const uint8_t *data, size_t leng
break; break;
default: default:
SET_ERROR_PARAMETER(error, TOX_ERR_PROXY_TYPE); SET_ERROR_PARAMETER(error, TOX_ERR_NEW_PROXY_BAD_TYPE);
return NULL; return NULL;
} }
@ -150,7 +150,7 @@ Tox *tox_new(const struct Tox_Options *options, const uint8_t *data, size_t leng
if (m_options.ipv6enabled) if (m_options.ipv6enabled)
m_options.proxy_info.ip_port.ip.family = AF_UNSPEC; m_options.proxy_info.ip_port.ip.family = AF_UNSPEC;
if (!addr_resolve_or_parse_ip(options->proxy_address, &m_options.proxy_info.ip_port.ip, NULL)) { if (!addr_resolve_or_parse_ip(options->proxy_host, &m_options.proxy_info.ip_port.ip, NULL)) {
SET_ERROR_PARAMETER(error, TOX_ERR_NEW_PROXY_BAD_HOST); SET_ERROR_PARAMETER(error, TOX_ERR_NEW_PROXY_BAD_HOST);
//TODO: TOX_ERR_NEW_PROXY_NOT_FOUND if domain. //TODO: TOX_ERR_NEW_PROXY_NOT_FOUND if domain.
return NULL; return NULL;
@ -249,7 +249,7 @@ bool tox_bootstrap(Tox *tox, const char *address, uint16_t port, const uint8_t *
return ret; return ret;
} else { /* DHT only works on UDP. */ } else { /* DHT only works on UDP. */
if (DHT_bootstrap_from_address(m->dht, address, m->options.ipv6enabled, htons(port), public_key) == 0) { if (DHT_bootstrap_from_address(m->dht, address, m->options.ipv6enabled, htons(port), public_key) == 0) {
SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_BAD_ADDRESS); SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_BAD_HOST);
return 0; return 0;
} }
@ -275,7 +275,7 @@ bool tox_add_tcp_relay(Tox *tox, const char *address, uint16_t port, const uint8
} }
if (address_to_ip(m, address, &ip_port, &ip_port_v4) == -1) { if (address_to_ip(m, address, &ip_port, &ip_port_v4) == -1) {
SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_BAD_ADDRESS); SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_BAD_HOST);
return 0; return 0;
} }
@ -350,12 +350,12 @@ void tox_self_get_public_key(const Tox *tox, uint8_t *public_key)
memcpy(public_key, m->net_crypto->self_public_key, crypto_box_PUBLICKEYBYTES); memcpy(public_key, m->net_crypto->self_public_key, crypto_box_PUBLICKEYBYTES);
} }
void tox_self_get_private_key(const Tox *tox, uint8_t *private_key) void tox_self_get_secret_key(const Tox *tox, uint8_t *secret_key)
{ {
const Messenger *m = tox; const Messenger *m = tox;
if (private_key) if (secret_key)
memcpy(private_key, m->net_crypto->self_secret_key, crypto_box_SECRETKEYBYTES); memcpy(secret_key, m->net_crypto->self_secret_key, crypto_box_SECRETKEYBYTES);
} }
bool tox_self_set_name(Tox *tox, const uint8_t *name, size_t length, TOX_ERR_SET_INFO *error) bool tox_self_set_name(Tox *tox, const uint8_t *name, size_t length, TOX_ERR_SET_INFO *error)
@ -567,18 +567,18 @@ bool tox_friend_exists(const Tox *tox, uint32_t friend_number)
return m_friend_exists(m, friend_number); return m_friend_exists(m, friend_number);
} }
size_t tox_friend_list_size(const Tox *tox) size_t tox_self_get_friend_list_size(const Tox *tox)
{ {
const Messenger *m = tox; const Messenger *m = tox;
return count_friendlist(m); return count_friendlist(m);
} }
void tox_friend_get_list(const Tox *tox, uint32_t *list) void tox_self_get_friend_list(const Tox *tox, uint32_t *list)
{ {
if (list) { if (list) {
const Messenger *m = tox; const Messenger *m = tox;
//TODO: size parameter? //TODO: size parameter?
copy_friendlist(m, list, tox_friend_list_size(tox)); copy_friendlist(m, list, tox_self_get_friend_list_size(tox));
} }
} }
@ -965,7 +965,7 @@ bool tox_file_send_chunk(Tox *tox, uint32_t friend_number, uint32_t file_number,
return 0; return 0;
case -6: case -6:
SET_ERROR_PARAMETER(error, TOX_ERR_FILE_SEND_CHUNK_QUEUE_FULL); SET_ERROR_PARAMETER(error, TOX_ERR_FILE_SEND_CHUNK_SENDQ);
return 0; return 0;
case -7: case -7:

View File

@ -210,6 +210,11 @@ bool tox_version_is_compatible(uint32_t major, uint32_t minor, uint32_t patch);
*/ */
#define TOX_PUBLIC_KEY_SIZE 32 #define TOX_PUBLIC_KEY_SIZE 32
/**
* The size of a Tox Secret Key in bytes.
*/
#define TOX_SECRET_KEY_SIZE 32
/** /**
* The size of a Tox address in bytes. Tox addresses are in the format * The size of a Tox address in bytes. Tox addresses are in the format
* [Public Key (TOX_PUBLIC_KEY_SIZE bytes)][nospam (4 bytes)][checksum (2 bytes)]. * [Public Key (TOX_PUBLIC_KEY_SIZE bytes)][nospam (4 bytes)][checksum (2 bytes)].
@ -344,7 +349,7 @@ struct Tox_Options {
* *
* This member is ignored (it can be NULL) if proxy_enabled is false. * This member is ignored (it can be NULL) if proxy_enabled is false.
*/ */
char *proxy_address; const char *proxy_host;
/** /**
* The port to use to connect to the proxy server. * The port to use to connect to the proxy server.
@ -443,9 +448,9 @@ typedef enum TOX_ERR_NEW {
/** /**
* proxy_type was invalid. * proxy_type was invalid.
*/ */
TOX_ERR_PROXY_TYPE, TOX_ERR_NEW_PROXY_BAD_TYPE,
/** /**
* proxy_type was valid but the proxy_address passed had an invalid format * proxy_type was valid but the proxy_host passed had an invalid format
* or was NULL. * or was NULL.
*/ */
TOX_ERR_NEW_PROXY_BAD_HOST, TOX_ERR_NEW_PROXY_BAD_HOST,
@ -454,7 +459,7 @@ typedef enum TOX_ERR_NEW {
*/ */
TOX_ERR_NEW_PROXY_BAD_PORT, TOX_ERR_NEW_PROXY_BAD_PORT,
/** /**
* The proxy address passed could not be resolved. * The proxy host passed could not be resolved.
*/ */
TOX_ERR_NEW_PROXY_NOT_FOUND, TOX_ERR_NEW_PROXY_NOT_FOUND,
/** /**
@ -542,10 +547,10 @@ typedef enum TOX_ERR_BOOTSTRAP {
TOX_ERR_BOOTSTRAP_OK, TOX_ERR_BOOTSTRAP_OK,
TOX_ERR_BOOTSTRAP_NULL, TOX_ERR_BOOTSTRAP_NULL,
/** /**
* The address could not be resolved to an IP address, or the IP address * The host could not be resolved to an IP address, or the IP address
* passed was invalid. * passed was invalid.
*/ */
TOX_ERR_BOOTSTRAP_BAD_ADDRESS, TOX_ERR_BOOTSTRAP_BAD_HOST,
/** /**
* The port passed was invalid. The valid port range is (1, 65535). * The port passed was invalid. The valid port range is (1, 65535).
*/ */
@ -564,14 +569,14 @@ typedef enum TOX_ERR_BOOTSTRAP {
* also use the TCP connection when NAT hole punching is slow, and later switch * also use the TCP connection when NAT hole punching is slow, and later switch
* to UDP if hole punching succeeds. * to UDP if hole punching succeeds.
* *
* @param address The hostname or IP address (IPv4 or IPv6) of the node. * @param host The hostname or IP address (IPv4 or IPv6) of the node.
* @param port The port on the host on which the bootstrap Tox instance is * @param port The port on the host on which the bootstrap Tox instance is
* listening. * listening.
* @param public_key The long term public key of the bootstrap node * @param public_key The long term public key of the bootstrap node
* (TOX_PUBLIC_KEY_SIZE bytes). * (TOX_PUBLIC_KEY_SIZE bytes).
* @return true on success. * @return true on success.
*/ */
bool tox_bootstrap(Tox *tox, const char *address, uint16_t port, const uint8_t *public_key, TOX_ERR_BOOTSTRAP *error); bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, TOX_ERR_BOOTSTRAP *error);
/** /**
@ -581,13 +586,13 @@ bool tox_bootstrap(Tox *tox, const char *address, uint16_t port, const uint8_t *
* the same bootstrap node, or to add TCP relays without using them as * the same bootstrap node, or to add TCP relays without using them as
* bootstrap nodes. * bootstrap nodes.
* *
* @param address The hostname or IP address (IPv4 or IPv6) of the TCP relay. * @param host The hostname or IP address (IPv4 or IPv6) of the TCP relay.
* @param port The port on the host on which the TCP relay is listening. * @param port The port on the host on which the TCP relay is listening.
* @param public_key The long term public key of the TCP relay * @param public_key The long term public key of the TCP relay
* (TOX_PUBLIC_KEY_SIZE bytes). * (TOX_PUBLIC_KEY_SIZE bytes).
* @return true on success. * @return true on success.
*/ */
bool tox_add_tcp_relay(Tox *tox, const char *address, uint16_t port, const uint8_t *public_key, bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key,
TOX_ERR_BOOTSTRAP *error); TOX_ERR_BOOTSTRAP *error);
@ -697,7 +702,7 @@ void tox_self_get_public_key(const Tox *tox, uint8_t *public_key);
/** /**
* Copy the secret key from the Tox object. * Copy the secret key from the Tox object.
* *
* @param secret_key A memory region of at least TOX_PUBLIC_KEY_SIZE bytes. If * @param secret_key A memory region of at least TOX_SECRET_KEY_SIZE bytes. If
* this parameter is NULL, this function has no effect. * this parameter is NULL, this function has no effect.
*/ */
void tox_self_get_secret_key(const Tox *tox, uint8_t *secret_key); void tox_self_get_secret_key(const Tox *tox, uint8_t *secret_key);
@ -978,20 +983,20 @@ bool tox_friend_exists(const Tox *tox, uint32_t friend_number);
* Return the number of friends on the friend list. * Return the number of friends on the friend list.
* *
* This function can be used to determine how much memory to allocate for * This function can be used to determine how much memory to allocate for
* tox_friend_list. * tox_self_get_friend_list.
*/ */
size_t tox_friend_list_size(const Tox *tox); size_t tox_self_get_friend_list_size(const Tox *tox);
/** /**
* Copy a list of valid friend numbers into an array. * Copy a list of valid friend numbers into an array.
* *
* Call tox_friend_list_size to determine the number of elements to allocate. * Call tox_self_get_friend_list_size to determine the number of elements to allocate.
* *
* @param list A memory region with enough space to hold the friend list. If * @param list A memory region with enough space to hold the friend list. If
* this parameter is NULL, this function has no effect. * this parameter is NULL, this function has no effect.
*/ */
void tox_friend_get_list(const Tox *tox, uint32_t *list); void tox_self_get_friend_list(const Tox *tox, uint32_t *list);
@ -1096,7 +1101,7 @@ bool tox_friend_get_status_message(const Tox *tox, uint32_t friend_number, uint8
* tox_friend_get_status_message_size. * tox_friend_get_status_message_size.
*/ */
typedef void tox_friend_status_message_cb(Tox *tox, uint32_t friend_number, const uint8_t *message, size_t length, typedef void tox_friend_status_message_cb(Tox *tox, uint32_t friend_number, const uint8_t *message, size_t length,
void *user_data); void *user_data);
/** /**
* Set the callback for the `friend_status_message` event. Pass NULL to unset. * Set the callback for the `friend_status_message` event. Pass NULL to unset.
@ -1155,7 +1160,7 @@ TOX_CONNECTION tox_friend_get_connection_status(const Tox *tox, uint32_t friend_
* tox_friend_get_connection_status on the passed friend_number. * tox_friend_get_connection_status on the passed friend_number.
*/ */
typedef void tox_friend_connection_status_cb(Tox *tox, uint32_t friend_number, TOX_CONNECTION connection_status, typedef void tox_friend_connection_status_cb(Tox *tox, uint32_t friend_number, TOX_CONNECTION connection_status,
void *user_data); void *user_data);
/** /**
* Set the callback for the `friend_connection_status` event. Pass NULL to * Set the callback for the `friend_connection_status` event. Pass NULL to
@ -1655,7 +1660,7 @@ typedef enum TOX_ERR_FILE_SEND_CHUNK {
/** /**
* Packet queue is full. * Packet queue is full.
*/ */
TOX_ERR_FILE_SEND_CHUNK_QUEUE_FULL, TOX_ERR_FILE_SEND_CHUNK_SENDQ,
/** /**
* Position parameter was wrong. * Position parameter was wrong.
*/ */
@ -1893,7 +1898,7 @@ bool tox_friend_send_lossless_packet(Tox *tox, uint32_t friend_number, const uin
* @param length The length of the packet data byte array. * @param length The length of the packet data byte array.
*/ */
typedef void tox_friend_lossless_packet_cb(Tox *tox, uint32_t friend_number, const uint8_t *data, size_t length, typedef void tox_friend_lossless_packet_cb(Tox *tox, uint32_t friend_number, const uint8_t *data, size_t length,
void *user_data); void *user_data);
/** /**
* Set the callback for the `friend_lossless_packet` event. Pass NULL to unset. * Set the callback for the `friend_lossless_packet` event. Pass NULL to unset.