\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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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__Elua_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 S\+O\+C\+K\+S 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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks4\+\_\+remote\+\_\+add(const char $\ast$ip, int port, const char $\ast$username)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks4\+\_\+remote\+\_\+exists(const char $\ast$ip, int port, const char $\ast$username)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks4\+\_\+remote\+\_\+del(const char $\ast$ip, int port, const char $\ast$username)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks5\+\_\+remote\+\_\+add(const char $\ast$ip, int port, const char $\ast$username, const char $\ast$password)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks5\+\_\+remote\+\_\+exists(const char $\ast$ip, int port, const char $\ast$username, const char $\ast$password)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks5\+\_\+remote\+\_\+del(const char $\ast$ip, int port, const char $\ast$username, const char $\ast$password)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+lookup\+\_\+set(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs, Eina\+\_\+\+Bool enable)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+lookup\+\_\+get(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+bind\+\_\+set(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs, Eina\+\_\+\+Bool is\+\_\+bind)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+bind\+\_\+get(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+version\+\_\+get(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+remote\+\_\+del(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+apply\+\_\+once(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs)}]{\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 S\+O\+C\+K\+S functions@{Ecore Connection S\+O\+C\+K\+S functions}}
\subsubsection[{ecore\+\_\+con\+\_\+socks\+\_\+apply\+\_\+always(\+Ecore\+\_\+\+Con\+\_\+\+Socks $\ast$ecs)}]{\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}
