-
-/* {{{ proto array ares_parse_a_reply(string reply)
- Parse an A reply */
-static PHP_FUNCTION(ares_parse_a_reply)
-{
- char *buf;
- int len, err;
- struct hostent *hostent;
-
- if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &len)) {
- RETURN_FALSE;
- }
-
- if (ARES_SUCCESS != (err = ares_parse_a_reply((const unsigned char *) buf, len, &hostent))) {
- RETURN_ARES_ERROR(err);
- }
-
- object_init(return_value);
- php_ares_hostent_to_struct(hostent, HASH_OF(return_value));
- ares_free_hostent(hostent);
-}
-/* }}} */
-
-#ifdef HAVE_ARES_PARSE_AAAA_REPLY
-/* {{{ proto array ares_parse_aaaa_reply(string reply)
- Parse an AAAA reply */
-static PHP_FUNCTION(ares_parse_aaaa_reply)
-{
- char *buf;
- int len, err;
- struct hostent *hostent;
-
- if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &len)) {
- RETURN_FALSE;
- }
-
- if (ARES_SUCCESS != (err = ares_parse_aaaa_reply((const unsigned char *) buf, len, &hostent))) {
- RETURN_ARES_ERROR(err);
- }
-
- object_init(return_value);
- php_ares_hostent_to_struct(hostent, HASH_OF(return_value));
- ares_free_hostent(hostent);
-}
-/* }}} */
-#endif
-
-/* {{{ proto array ares_parse_ptr_reply(string reply)
- Parse a PTR reply */
-static PHP_FUNCTION(ares_parse_ptr_reply)
-{
- char *buf;
- int len, err;
- struct hostent *hostent;
-
- if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &len)) {
- RETURN_FALSE;
- }
-
- if (ARES_SUCCESS != (err = ares_parse_ptr_reply((const unsigned char *) buf, len, NULL, 0, 0, &hostent))) {
- RETURN_ARES_ERROR(err);
- }
-
- object_init(return_value);
- php_ares_hostent_to_struct(hostent, HASH_OF(return_value));
- ares_free_hostent(hostent);
-}
-/* }}} */
-
-/* {{{ proto string ares_expand_name(string name)
- Expand a DNS encoded name into a human readable dotted string */
-static PHP_FUNCTION(ares_expand_name)
-{
- char *name_str, *exp_str;
- int name_len,err;
- PHP_ARES_EXPAND_LEN_TYPE exp_len;
-
- if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name_str, &name_len)) {
- RETURN_FALSE;
- }
-
- if (ARES_SUCCESS != (err = ares_expand_name((const unsigned char *) name_str, (const unsigned char *) name_str, name_len, &exp_str, &exp_len))) {
- RETURN_ARES_ERROR(err);
- }
- RETVAL_STRINGL(exp_str, exp_len, 1);
- ares_free_string(exp_str);
-}
-/* }}} */
-
-#ifdef HAVE_ARES_EXPAND_STRING
-/* {{{ proto string ares_expand_string(string buf)
- Expand a DNS encoded string into a human readable */
-static PHP_FUNCTION(ares_expand_string)
-{
- char *buf_str, *exp_str;
- int buf_len, err;
- PHP_ARES_EXPAND_LEN_TYPE exp_len;
-
- if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf_str, &buf_len)) {
- RETURN_FALSE;
- }
-
- if (ARES_SUCCESS != (err = ares_expand_string((const unsigned char *) buf_str, (const unsigned char *) buf_str, buf_len, (unsigned char **) &exp_str, &exp_len))) {
- RETURN_ARES_ERROR(err);
- }
- RETVAL_STRINGL(exp_str, exp_len, 1);
- ares_free_string(exp_str);
-}
-/* }}} */
-#endif
-