\hypertarget{group__Ecore__Con__Socks__Group}{\section{Ecore Connection S\-O\-C\-K\-S functions}
\label{group__Ecore__Con__Socks__Group}\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Ecore__Con__Event__Proxy__Bind}{\-\_\-\-Ecore\-\_\-\-Con\-\_\-\-Event\-\_\-\-Proxy\-\_\-\-Bind}
\begin{DoxyCompactList}\small\item\em Used as the {\ttfamily data} param for the \hyperlink{group__Ecore__Con__Events__Group_ga59ee520185d1e7018622434d4894de53}{E\-C\-O\-R\-E\-\_\-\-C\-O\-N\-\_\-\-E\-V\-E\-N\-T\-\_\-\-P\-R\-O\-X\-Y\-\_\-\-B\-I\-N\-D} event. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} \hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks}
\begin{DoxyCompactList}\small\item\em An object representing a S\-O\-C\-K\-S proxy. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ \hyperlink{group__Ecore__Con__Socks__Group_ga6b3291958399a9249912e9c41a1f503a}{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add} (const char $\ast$ip, int port, const char $\ast$username)
\begin{DoxyCompactList}\small\item\em Add a S\-O\-C\-K\-S v4 proxy to the proxy list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Ecore__Con__Socks__Group_ga1a06fe99059e18d8b5e07d8036e95082}{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists} (const char $\ast$ip, int port, const char $\ast$username)
\begin{DoxyCompactList}\small\item\em Find a S\-O\-C\-K\-S v4 proxy in the proxy list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__Ecore__Con__Socks__Group_ga7f201c6f7e10f86815306969c8b15a3a}{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-del} (const char $\ast$ip, int port, const char $\ast$username)
\begin{DoxyCompactList}\small\item\em Remove a S\-O\-C\-K\-S v4 proxy from the proxy list and delete it. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ \hyperlink{group__Ecore__Con__Socks__Group_gaf52462a3352323b9c75d1161e9c6efc6}{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add} (const char $\ast$ip, int port, const char $\ast$username, const char $\ast$password)
\begin{DoxyCompactList}\small\item\em Add a S\-O\-C\-K\-S v5 proxy to the proxy list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Ecore__Con__Socks__Group_ga8fa15b2b6ef71c719e685dc285beccdf}{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-exists} (const char $\ast$ip, int port, const char $\ast$username, const char $\ast$password)
\begin{DoxyCompactList}\small\item\em Find a S\-O\-C\-K\-S v5 proxy in the proxy list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__Ecore__Con__Socks__Group_ga379d8cd2f0eb90a00a8ceb5e97bfefa5}{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-del} (const char $\ast$ip, int port, const char $\ast$username, const char $\ast$password)
\begin{DoxyCompactList}\small\item\em Remove a S\-O\-C\-K\-S v5 proxy from the proxy list and delete it. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__Ecore__Con__Socks__Group_gab3cd64ca5a64a129c00c04b8483f7a2f}{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-set} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} enable)
\begin{DoxyCompactList}\small\item\em Set D\-N\-S lookup mode on an existing S\-O\-C\-K\-S proxy. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Ecore__Con__Socks__Group_gaea9421605923467b6a17a668a22c3258}{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-get} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs)
\begin{DoxyCompactList}\small\item\em Get D\-N\-S lookup mode on an existing S\-O\-C\-K\-S proxy. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__Ecore__Con__Socks__Group_gaea736bd5a613ca9fb630013c9579eec6}{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-set} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} is\-\_\-bind)
\begin{DoxyCompactList}\small\item\em Enable bind mode on a S\-O\-C\-K\-S proxy. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Ecore__Con__Socks__Group_ga7c51447da15c98ef337c209cc4a73fe2}{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-get} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs)
\begin{DoxyCompactList}\small\item\em Return bind mode of a S\-O\-C\-K\-S proxy. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} unsigned int \hyperlink{group__Ecore__Con__Socks__Group_gaeb2ed6486275f8441e3f3093abf081a6}{ecore\-\_\-con\-\_\-socks\-\_\-version\-\_\-get} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs)
\begin{DoxyCompactList}\small\item\em Return S\-O\-C\-K\-S version of a S\-O\-C\-K\-S proxy. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__Ecore__Con__Socks__Group_ga852522cf5d4a4bb814bc364472d0b57c}{ecore\-\_\-con\-\_\-socks\-\_\-remote\-\_\-del} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs)
\begin{DoxyCompactList}\small\item\em Remove a S\-O\-C\-K\-S v4 proxy from the proxy list and delete it. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__Ecore__Con__Socks__Group_ga38b6e2b03de407a23115f22d2873634b}{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs)
\begin{DoxyCompactList}\small\item\em Set a proxy object to be used with the next server created with \hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\-\_\-con\-\_\-server\-\_\-connect()} \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\-A\-P\-I} void \hyperlink{group__Ecore__Con__Socks__Group_ga6e0428d61ac68bbb8a2f6e5f64de38bf}{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always} (\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$ecs)
\begin{DoxyCompactList}\small\item\em Set a proxy object to be used with all servers created with \hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\-\_\-con\-\_\-server\-\_\-connect()} \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Typedef Documentation}
\hypertarget{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!Ecore\-\_\-\-Con\-\_\-\-Socks@{Ecore\-\_\-\-Con\-\_\-\-Socks}}
\index{Ecore\-\_\-\-Con\-\_\-\-Socks@{Ecore\-\_\-\-Con\-\_\-\-Socks}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{Ecore\-\_\-\-Con\-\_\-\-Socks}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Ecore\-\_\-\-Con\-\_\-\-Socks}}}\label{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}


An object representing a S\-O\-C\-K\-S proxy. 

\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


\subsection{Function Documentation}
\hypertarget{group__Ecore__Con__Socks__Group_ga6b3291958399a9249912e9c41a1f503a}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add@{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add}}
\index{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add@{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf Ecore\-\_\-\-Con\-\_\-\-Socks}$\ast$ ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ip, }
\item[{int}]{port, }
\item[{const char $\ast$}]{username}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga6b3291958399a9249912e9c41a1f503a}


Add a S\-O\-C\-K\-S v4 proxy to the proxy list. 

Use this to create (or return, if previously added) a S\-O\-C\-K\-S proxy object which can be used by any ecore\-\_\-con servers. 
\begin{DoxyParams}{Parameters}
{\em ip} & The ip address of the proxy (N\-O\-T D\-O\-M\-A\-I\-N N\-A\-M\-E. I\-P A\-D\-D\-R\-E\-S\-S.) \\
\hline
{\em port} & The port to connect to on the proxy \\
\hline
{\em username} & The username to use for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An allocated proxy object, or N\-U\-L\-L on failure 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This object N\-E\-V\-E\-R needs to be explicitly freed. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References eina\-\_\-list\-\_\-append(), and eina\-\_\-stringshare\-\_\-add().

\hypertarget{group__Ecore__Con__Socks__Group_ga1a06fe99059e18d8b5e07d8036e95082}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists@{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists}}
\index{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists@{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf Eina\-\_\-\-Bool} ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ip, }
\item[{int}]{port, }
\item[{const char $\ast$}]{username}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga1a06fe99059e18d8b5e07d8036e95082}


Find a S\-O\-C\-K\-S v4 proxy in the proxy list. 

Use this to determine if a S\-O\-C\-K\-S proxy was previously added by checking the proxy list against the parameters given. 
\begin{DoxyParams}{Parameters}
{\em ip} & The ip address of the proxy (N\-O\-T D\-O\-M\-A\-I\-N N\-A\-M\-E. I\-P A\-D\-D\-R\-E\-S\-S.) \\
\hline
{\em port} & The port to connect to on the proxy, or -\/1 to match the first proxy with {\ttfamily ip} \\
\hline
{\em username} & The username used for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true only if a proxy exists matching the given params 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function matches slightly more loosely than \hyperlink{group__Ecore__Con__Socks__Group_ga6b3291958399a9249912e9c41a1f503a}{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add()}, and \hyperlink{group__Ecore__Con__Socks__Group_ga6b3291958399a9249912e9c41a1f503a}{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-add()} should be used to return the actual object. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E.

\hypertarget{group__Ecore__Con__Socks__Group_ga7f201c6f7e10f86815306969c8b15a3a}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-del@{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-del}}
\index{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-del@{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-del}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-del (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ip, }
\item[{int}]{port, }
\item[{const char $\ast$}]{username}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga7f201c6f7e10f86815306969c8b15a3a}


Remove a S\-O\-C\-K\-S v4 proxy from the proxy list and delete it. 

Use this to remove a S\-O\-C\-K\-S proxy from the proxy list by checking the list against the parameters given. The proxy will then be deleted. 
\begin{DoxyParams}{Parameters}
{\em ip} & The ip address of the proxy (N\-O\-T D\-O\-M\-A\-I\-N N\-A\-M\-E. I\-P A\-D\-D\-R\-E\-S\-S.) \\
\hline
{\em port} & The port to connect to on the proxy, or -\/1 to match the first proxy with {\ttfamily ip} \\
\hline
{\em username} & The username used for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
This function matches in the same way as \hyperlink{group__Ecore__Con__Socks__Group_ga1a06fe99059e18d8b5e07d8036e95082}{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists()}. 
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
Be aware that deleting a proxy which is being used W\-I\-L\-L ruin your life. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References eina\-\_\-list\-\_\-remove().

\hypertarget{group__Ecore__Con__Socks__Group_gaf52462a3352323b9c75d1161e9c6efc6}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add@{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add}}
\index{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add@{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf Ecore\-\_\-\-Con\-\_\-\-Socks}$\ast$ ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ip, }
\item[{int}]{port, }
\item[{const char $\ast$}]{username, }
\item[{const char $\ast$}]{password}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_gaf52462a3352323b9c75d1161e9c6efc6}


Add a S\-O\-C\-K\-S v5 proxy to the proxy list. 

Use this to create (or return, if previously added) a S\-O\-C\-K\-S proxy object which can be used by any ecore\-\_\-con servers. 
\begin{DoxyParams}{Parameters}
{\em ip} & The ip address of the proxy (N\-O\-T D\-O\-M\-A\-I\-N N\-A\-M\-E. I\-P A\-D\-D\-R\-E\-S\-S.) \\
\hline
{\em port} & The port to connect to on the proxy \\
\hline
{\em username} & The username to use for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
{\em password} & The password to use for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An allocated proxy object, or N\-U\-L\-L on failure 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This object N\-E\-V\-E\-R needs to be explicitly freed. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References eina\-\_\-list\-\_\-append(), and eina\-\_\-stringshare\-\_\-add().

\hypertarget{group__Ecore__Con__Socks__Group_ga8fa15b2b6ef71c719e685dc285beccdf}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-exists@{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-exists}}
\index{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-exists@{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-exists}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-exists}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf Eina\-\_\-\-Bool} ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-exists (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ip, }
\item[{int}]{port, }
\item[{const char $\ast$}]{username, }
\item[{const char $\ast$}]{password}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga8fa15b2b6ef71c719e685dc285beccdf}


Find a S\-O\-C\-K\-S v5 proxy in the proxy list. 

Use this to determine if a S\-O\-C\-K\-S proxy was previously added by checking the proxy list against the parameters given. 
\begin{DoxyParams}{Parameters}
{\em ip} & The ip address of the proxy (N\-O\-T D\-O\-M\-A\-I\-N N\-A\-M\-E. I\-P A\-D\-D\-R\-E\-S\-S.) \\
\hline
{\em port} & The port to connect to on the proxy, or -\/1 to match the first proxy with {\ttfamily ip} \\
\hline
{\em username} & The username used for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
{\em password} & The password used for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true only if a proxy exists matching the given params 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function matches slightly more loosely than \hyperlink{group__Ecore__Con__Socks__Group_gaf52462a3352323b9c75d1161e9c6efc6}{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add()}, and \hyperlink{group__Ecore__Con__Socks__Group_gaf52462a3352323b9c75d1161e9c6efc6}{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-add()} should be used to return the actual object. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E.

\hypertarget{group__Ecore__Con__Socks__Group_ga379d8cd2f0eb90a00a8ceb5e97bfefa5}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-del@{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-del}}
\index{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-del@{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-del}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ecore\-\_\-con\-\_\-socks5\-\_\-remote\-\_\-del (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ip, }
\item[{int}]{port, }
\item[{const char $\ast$}]{username, }
\item[{const char $\ast$}]{password}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga379d8cd2f0eb90a00a8ceb5e97bfefa5}


Remove a S\-O\-C\-K\-S v5 proxy from the proxy list and delete it. 

Use this to remove a S\-O\-C\-K\-S proxy from the proxy list by checking the list against the parameters given. The proxy will then be deleted. 
\begin{DoxyParams}{Parameters}
{\em ip} & The ip address of the proxy (N\-O\-T D\-O\-M\-A\-I\-N N\-A\-M\-E. I\-P A\-D\-D\-R\-E\-S\-S.) \\
\hline
{\em port} & The port to connect to on the proxy, or -\/1 to match the first proxy with {\ttfamily ip} \\
\hline
{\em username} & The username used for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
{\em password} & The password used for the proxy (O\-P\-T\-I\-O\-N\-A\-L) \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
This function matches in the same way as \hyperlink{group__Ecore__Con__Socks__Group_ga1a06fe99059e18d8b5e07d8036e95082}{ecore\-\_\-con\-\_\-socks4\-\_\-remote\-\_\-exists()}. 
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
Be aware that deleting a proxy which is being used W\-I\-L\-L ruin your life. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References eina\-\_\-list\-\_\-remove().

\hypertarget{group__Ecore__Con__Socks__Group_gab3cd64ca5a64a129c00c04b8483f7a2f}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-set@{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-set}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-set@{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-set}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs, }
\item[{{\bf Eina\-\_\-\-Bool}}]{enable}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_gab3cd64ca5a64a129c00c04b8483f7a2f}


Set D\-N\-S lookup mode on an existing S\-O\-C\-K\-S proxy. 

According to R\-F\-C, S\-O\-C\-K\-S v4 does not require that a proxy perform its own D\-N\-S lookups for addresses. S\-O\-C\-K\-S v4a specifies the protocol for this. S\-O\-C\-K\-S v5 allows D\-N\-S lookups. If you want to enable remote D\-N\-S lookup and are sure that your proxy supports it, use this function. 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object \\
\hline
{\em enable} & If true, the proxy will perform the dns lookup \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
By default, this setting is D\-I\-S\-A\-B\-L\-E\-D. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}
\hypertarget{group__Ecore__Con__Socks__Group_gaea9421605923467b6a17a668a22c3258}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-get@{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-get}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-get@{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-get}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf Eina\-\_\-\-Bool} ecore\-\_\-con\-\_\-socks\-\_\-lookup\-\_\-get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_gaea9421605923467b6a17a668a22c3258}


Get D\-N\-S lookup mode on an existing S\-O\-C\-K\-S proxy. 

According to R\-F\-C, S\-O\-C\-K\-S v4 does not require that a proxy perform its own D\-N\-S lookups for addresses. S\-O\-C\-K\-S v4a specifies the protocol for this. S\-O\-C\-K\-S v5 allows D\-N\-S lookups. This function returns whether lookups are enabled on a proxy object. 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If true, the proxy will perform the dns lookup 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
By default, this setting is D\-I\-S\-A\-B\-L\-E\-D. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E.

\hypertarget{group__Ecore__Con__Socks__Group_gaea736bd5a613ca9fb630013c9579eec6}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-set@{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-set}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-set@{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-set}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs, }
\item[{{\bf Eina\-\_\-\-Bool}}]{is\-\_\-bind}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_gaea736bd5a613ca9fb630013c9579eec6}


Enable bind mode on a S\-O\-C\-K\-S proxy. 

Use this function to enable binding a remote port for use with a remote server. For more information, see \href{http://ufasoft.com/doc/socks4_protocol.htm}{\tt http\-://ufasoft.\-com/doc/socks4\-\_\-protocol.\-htm} 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object \\
\hline
{\em is\-\_\-bind} & If true, the connection established will be a port binding \\
\hline
\end{DoxyParams}
\begin{DoxyWarning}{Warning}
Be aware that changing the operation mode of an active proxy may result in undefined behavior 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}
\hypertarget{group__Ecore__Con__Socks__Group_ga7c51447da15c98ef337c209cc4a73fe2}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-get@{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-get}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-get@{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-get}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} {\bf Eina\-\_\-\-Bool} ecore\-\_\-con\-\_\-socks\-\_\-bind\-\_\-get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga7c51447da15c98ef337c209cc4a73fe2}


Return bind mode of a S\-O\-C\-K\-S proxy. 

Use this function to return bind mode of a proxy (binding a remote port for use with a remote server). For more information, see \href{http://ufasoft.com/doc/socks4_protocol.htm}{\tt http\-://ufasoft.\-com/doc/socks4\-\_\-protocol.\-htm} 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If true, the connection established will be a port binding 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References E\-I\-N\-A\-\_\-\-F\-A\-L\-S\-E.

\hypertarget{group__Ecore__Con__Socks__Group_gaeb2ed6486275f8441e3f3093abf081a6}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-version\-\_\-get@{ecore\-\_\-con\-\_\-socks\-\_\-version\-\_\-get}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-version\-\_\-get@{ecore\-\_\-con\-\_\-socks\-\_\-version\-\_\-get}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-version\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} unsigned int ecore\-\_\-con\-\_\-socks\-\_\-version\-\_\-get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_gaeb2ed6486275f8441e3f3093abf081a6}


Return S\-O\-C\-K\-S version of a S\-O\-C\-K\-S proxy. 

Use this function to return the S\-O\-C\-K\-S protocol version of a proxy 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on error, else 4/5 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}
\hypertarget{group__Ecore__Con__Socks__Group_ga852522cf5d4a4bb814bc364472d0b57c}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-remote\-\_\-del@{ecore\-\_\-con\-\_\-socks\-\_\-remote\-\_\-del}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-remote\-\_\-del@{ecore\-\_\-con\-\_\-socks\-\_\-remote\-\_\-del}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-remote\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ecore\-\_\-con\-\_\-socks\-\_\-remote\-\_\-del (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga852522cf5d4a4bb814bc364472d0b57c}


Remove a S\-O\-C\-K\-S v4 proxy from the proxy list and delete it. 

Use this to remove a S\-O\-C\-K\-S proxy from the proxy list by directly deleting the object given. 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object to delete \\
\hline
\end{DoxyParams}
\begin{DoxyWarning}{Warning}
Be aware that deleting a proxy which is being used W\-I\-L\-L ruin your life. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}


References eina\-\_\-list\-\_\-remove().

\hypertarget{group__Ecore__Con__Socks__Group_ga38b6e2b03de407a23115f22d2873634b}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once@{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once@{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga38b6e2b03de407a23115f22d2873634b}


Set a proxy object to be used with the next server created with \hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\-\_\-con\-\_\-server\-\_\-connect()} 

This function sets a proxy for the next ecore\-\_\-con connection. After the next server is created, the proxy will N\-E\-V\-E\-R be applied again unless explicitly enabled. 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Ecore__Con__Socks__Group_ga6e0428d61ac68bbb8a2f6e5f64de38bf}{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}
\hypertarget{group__Ecore__Con__Socks__Group_ga6e0428d61ac68bbb8a2f6e5f64de38bf}{\index{Ecore Connection S\-O\-C\-K\-S functions@{Ecore Connection S\-O\-C\-K\-S functions}!ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always@{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always}}
\index{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always@{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always}!Ecore Connection SOCKS functions@{Ecore Connection S\-O\-C\-K\-S functions}}
\subsubsection[{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\-A\-P\-I} void ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-always (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\-\_\-\-Con\-\_\-\-Socks} $\ast$}]{ecs}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Socks__Group_ga6e0428d61ac68bbb8a2f6e5f64de38bf}


Set a proxy object to be used with all servers created with \hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\-\_\-con\-\_\-server\-\_\-connect()} 

This function sets a proxy for all ecore\-\_\-con connections. It will always be used. 
\begin{DoxyParams}{Parameters}
{\em ecs} & The proxy object \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Ecore__Con__Socks__Group_ga38b6e2b03de407a23115f22d2873634b}{ecore\-\_\-con\-\_\-socks\-\_\-apply\-\_\-once()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}
\begin{DoxyNote}{Note}
ecore-\/con supports setting this through environment variables like so\-: E\-C\-O\-R\-E\-\_\-\-C\-O\-N\-\_\-\-S\-O\-C\-K\-S\-\_\-\-V4=\mbox{[}user@\mbox{]}server-\/port\-:lookup E\-C\-O\-R\-E\-\_\-\-C\-O\-N\-\_\-\-S\-O\-C\-K\-S\-\_\-\-V5=\mbox{[}user@\mbox{]}server-\/port\-:lookup user is the O\-P\-T\-I\-O\-N\-A\-L string that would be passed to the proxy as the username server is the I\-P\-\_\-\-A\-D\-D\-R\-E\-S\-S of the proxy server port is the port to connect to on the proxy server lookup is 1 if the proxy should perform all D\-N\-S lookups, otherwise 0 or omitted 
\end{DoxyNote}
