1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
/*
Copyright 2014 VirusTotal S.L. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef VT_URL_H
#define VT_URL_H 1
#ifdef __cplusplus
extern "C" {
#endif
// forward declarations
struct VtUrl;
struct VtResponse;
struct VtObject;
/**
* @ingroup VtApiPage
* @defgroup VtUrl VtUrl URL scanning object
* @{
*/
/**
* @brief Create new URL object
*
* @param void
* @return VtUrl*
*/
struct VtUrl* VtUrl_new(void);
/**
* @brief Get a reference counter
*
* @param VtUrl object
* @return void
*/
void VtUrl_get(struct VtUrl *);
/**
* @brief Put a reference counter
*
* @param Pointer to VtUrl pointer
* @return void
*/
void VtUrl_put(struct VtUrl **);
/**
* @brief Stet tha API key
*
* @param url_scan VtUrl Object
* @param api_key your api key
* @return void
*/
void VtUrl_setApiKey(struct VtUrl *url_scan, const char *api_key);
/**
* @brief Scan URL
*
* @param VtUrl Url scan object
* @param url URL to scan
* @return int 0 if OK or error code
*/
int VtUrl_scan(struct VtUrl *, const char *url);
/**
* @brief get the report of the URL scan
*
* @param VtUrl scan object
* @param url URL to get report on
* @param scan set to true if you wish to rescan
* @param all_info set true if you wall aditional info. (Private API Key Only)
* @return int
*/
int VtUrl_report(struct VtUrl *, const char *url, bool scan, bool all_info);
/**
* @brief Get response object
*
* @param url_scan VtUrl Object
* @return VtResponse*
*/
struct VtResponse * VtUrl_getResponse(struct VtUrl *url_scan);
/**
* @}
*/
#ifdef __cplusplus
}
#endif /*cplusplus*/
#endif
|