\hypertarget{group__liblo}{\section{High-\/level O\+S\+C A\+P\+I}
\label{group__liblo}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structlo__timetag}{lo\+\_\+timetag}
\begin{DoxyCompactList}\small\item\em A structure to store O\+S\+C Time\+Tag values. \end{DoxyCompactList}\item 
union \hyperlink{unionlo__arg}{lo\+\_\+arg}
\begin{DoxyCompactList}\small\item\em Union used to read values from incoming messages. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__liblo_gafa8cfc08b763b0c039fb64a73c4c77da}{L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E}~((\hyperlink{structlo__timetag}{lo\+\_\+timetag})\{0\+U,1\+U\})
\begin{DoxyCompactList}\small\item\em A timetag constant representing \char`\"{}now\char`\"{}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__liblo_ga08432d01f2b8f4a32ffa58992a821f28}{lo\+\_\+element\+\_\+type} \{ \hyperlink{group__liblo_gga08432d01f2b8f4a32ffa58992a821f28aef47b7b86b453d77bc37737400a2ad64}{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+M\+E\+S\+S\+A\+G\+E} = 1, 
\hyperlink{group__liblo_gga08432d01f2b8f4a32ffa58992a821f28a35773b57d50789d1ac7e7e38d2b291c2}{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+B\+U\+N\+D\+L\+E} = 2
 \}
\begin{DoxyCompactList}\small\item\em An enumeration of bundle element types liblo can handle. \end{DoxyCompactList}\item 
enum \hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\+\_\+type} \{ \\*
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d}{L\+O\+\_\+\+I\+N\+T32} = 'i', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3}{L\+O\+\_\+\+F\+L\+O\+A\+T} = 'f', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2}{L\+O\+\_\+\+S\+T\+R\+I\+N\+G} = 's', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b}{L\+O\+\_\+\+B\+L\+O\+B} = 'b', 
\\*
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30}{L\+O\+\_\+\+I\+N\+T64} = 'h', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe}{L\+O\+\_\+\+T\+I\+M\+E\+T\+A\+G} = 't', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6}{L\+O\+\_\+\+D\+O\+U\+B\+L\+E} = 'd', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948}{L\+O\+\_\+\+S\+Y\+M\+B\+O\+L} = 'S', 
\\*
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26}{L\+O\+\_\+\+C\+H\+A\+R} = 'c', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0}{L\+O\+\_\+\+M\+I\+D\+I} = 'm', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009}{L\+O\+\_\+\+T\+R\+U\+E} = 'T', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4}{L\+O\+\_\+\+F\+A\+L\+S\+E} = 'F', 
\\*
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3}{L\+O\+\_\+\+N\+I\+L} = 'N', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273}{L\+O\+\_\+\+I\+N\+F\+I\+N\+I\+T\+U\+M} = 'I'
 \}
\begin{DoxyCompactList}\small\item\em An enumeration of the O\+S\+C types liblo can send and receive. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\+\_\+address\+\_\+new} (const char $\ast$host, const char $\ast$port)
\begin{DoxyCompactList}\small\item\em Declare an O\+S\+C destination, given I\+P address and port number. Same as \hyperlink{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto()}, but using U\+D\+P. \end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} \hyperlink{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto} (int proto, const char $\ast$host, const char $\ast$port)
\begin{DoxyCompactList}\small\item\em Declare an O\+S\+C destination, given I\+P address and port number, specifying protocol. \end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} \hyperlink{group__liblo_ga1af2cb3c80393cba838f64dfcdc35620}{lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url} (const char $\ast$url)
\begin{DoxyCompactList}\small\item\em Create a lo\+\_\+address object from an O\+S\+C U\+R\+L. \end{DoxyCompactList}\item 
void \hyperlink{group__liblo_ga82b9a2d1d30214114eb5298f43aebac5}{lo\+\_\+address\+\_\+free} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} t)
\begin{DoxyCompactList}\small\item\em Free the memory used by the lo\+\_\+address object. \end{DoxyCompactList}\item 
void \hyperlink{group__liblo_gacd72097b92411db148844d89071fd281}{lo\+\_\+address\+\_\+set\+\_\+ttl} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} t, int ttl)
\begin{DoxyCompactList}\small\item\em Set the Time-\/to-\/\+Live value for a given target address. \end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga3652ba694ba3c153dc96917e7321131c}{lo\+\_\+address\+\_\+get\+\_\+ttl} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} t)
\begin{DoxyCompactList}\small\item\em Get the Time-\/to-\/\+Live value for a given target address. \end{DoxyCompactList}\item 
int \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} targ, const char $\ast$path, const char $\ast$type,...)
\begin{DoxyCompactList}\small\item\em Send a O\+S\+C formatted message to the address specified. \end{DoxyCompactList}\item 
int \hyperlink{group__liblo_gaa4a314562b09e2fd00749a5d0b4d0955}{lo\+\_\+send\+\_\+from} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} targ, \hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\+\_\+server} from, \hyperlink{structlo__timetag}{lo\+\_\+timetag} ts, const char $\ast$path, const char $\ast$type,...)
\begin{DoxyCompactList}\small\item\em Send a O\+S\+C formatted message to the address specified, from the same socket as the specified server. \end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga42ec6437789c7516c5b7909d8504751a}{lo\+\_\+send\+\_\+timestamped} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} targ, \hyperlink{structlo__timetag}{lo\+\_\+timetag} ts, const char $\ast$path, const char $\ast$type,...)
\begin{DoxyCompactList}\small\item\em Send a O\+S\+C formatted message to the address specified, scheduled to be dispatch at some time in the future. \end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga407e1694a2ec58ee5b90c6390e0a5d53}{lo\+\_\+address\+\_\+errno} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} a)
\begin{DoxyCompactList}\small\item\em Return the error number from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\+\_\+address\+\_\+new()} call. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__liblo_gace321bfb9e529d8640e96e894db5400c}{lo\+\_\+address\+\_\+errstr} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\+\_\+address} a)
\begin{DoxyCompactList}\small\item\em Return the error string from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\+\_\+address\+\_\+new()} call. \end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob} \hyperlink{group__liblo_gaffb2348c70cb0e1214fd50bdc7574c39}{lo\+\_\+blob\+\_\+new} (int32\+\_\+t size, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Create a new O\+S\+C blob type. \end{DoxyCompactList}\item 
void \hyperlink{group__liblo_gaa46ef058cfdf14a16936c062ebac19b9}{lo\+\_\+blob\+\_\+free} (\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob} b)
\begin{DoxyCompactList}\small\item\em Free the memory taken by a blob. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__liblo_gab6c9184f0a54f19319d8a6409487b466}{lo\+\_\+blob\+\_\+datasize} (\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob} b)
\begin{DoxyCompactList}\small\item\em Return the amount of valid data in a lo\+\_\+blob object. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__liblo_ga064e3435301e0df338b75023a7ebf38e}{lo\+\_\+blob\+\_\+dataptr} (\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\+\_\+blob} b)
\begin{DoxyCompactList}\small\item\em Return a pointer to the start of the blob data to allow contents to be changed. \end{DoxyCompactList}\item 
void \hyperlink{group__liblo_gad9fa9a716b9df6b60357ea05e6c5f87b}{lo\+\_\+version} (char $\ast$verstr, int verstr\+\_\+size, int $\ast$major, int $\ast$minor, char $\ast$extra, int extra\+\_\+size, int $\ast$lt\+\_\+major, int $\ast$lt\+\_\+minor, int $\ast$lt\+\_\+bug)
\begin{DoxyCompactList}\small\item\em Get information on the version of liblo current in use. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Defines the high-\/level A\+P\+I functions necessary to implement O\+S\+C support. Should be adequate for most applications, but if you require lower level control you can use the functions defined in \hyperlink{lo__lowlevel_8h}{lo\+\_\+lowlevel.\+h} 

\subsection{Macro Definition Documentation}
\hypertarget{group__liblo_gafa8cfc08b763b0c039fb64a73c4c77da}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E@{L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E}}
\index{L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E@{L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E~(({\bf lo\+\_\+timetag})\{0\+U,1\+U\})}}\label{group__liblo_gafa8cfc08b763b0c039fb64a73c4c77da}


A timetag constant representing \char`\"{}now\char`\"{}. 



\subsection{Enumeration Type Documentation}
\hypertarget{group__liblo_ga08432d01f2b8f4a32ffa58992a821f28}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+element\+\_\+type@{lo\+\_\+element\+\_\+type}}
\index{lo\+\_\+element\+\_\+type@{lo\+\_\+element\+\_\+type}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+element\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf lo\+\_\+element\+\_\+type}}}\label{group__liblo_ga08432d01f2b8f4a32ffa58992a821f28}


An enumeration of bundle element types liblo can handle. 

The element of a bundle can either be a message or an other bundle. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+M\+E\+S\+S\+A\+G\+E@{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+M\+E\+S\+S\+A\+G\+E}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+M\+E\+S\+S\+A\+G\+E@{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+M\+E\+S\+S\+A\+G\+E}}\item[{\em 
\hypertarget{group__liblo_gga08432d01f2b8f4a32ffa58992a821f28aef47b7b86b453d77bc37737400a2ad64}{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+M\+E\+S\+S\+A\+G\+E}\label{group__liblo_gga08432d01f2b8f4a32ffa58992a821f28aef47b7b86b453d77bc37737400a2ad64}
}]bundle element is a message \index{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+B\+U\+N\+D\+L\+E@{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+B\+U\+N\+D\+L\+E}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+B\+U\+N\+D\+L\+E@{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+B\+U\+N\+D\+L\+E}}\item[{\em 
\hypertarget{group__liblo_gga08432d01f2b8f4a32ffa58992a821f28a35773b57d50789d1ac7e7e38d2b291c2}{L\+O\+\_\+\+E\+L\+E\+M\+E\+N\+T\+\_\+\+B\+U\+N\+D\+L\+E}\label{group__liblo_gga08432d01f2b8f4a32ffa58992a821f28a35773b57d50789d1ac7e7e38d2b291c2}
}]bundle element is a bundle \end{description}
\end{Desc}
\hypertarget{group__liblo_ga11838c576b0197c255ce805fd7434736}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+type@{lo\+\_\+type}}
\index{lo\+\_\+type@{lo\+\_\+type}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf lo\+\_\+type}}}\label{group__liblo_ga11838c576b0197c255ce805fd7434736}


An enumeration of the O\+S\+C types liblo can send and receive. 

The value of the enumeration is the typechar used to tag messages and to specify arguments with \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send()}. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{L\+O\+\_\+\+I\+N\+T32@{L\+O\+\_\+\+I\+N\+T32}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+I\+N\+T32@{L\+O\+\_\+\+I\+N\+T32}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d}{L\+O\+\_\+\+I\+N\+T32}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d}
}]32 bit signed integer. \index{L\+O\+\_\+\+F\+L\+O\+A\+T@{L\+O\+\_\+\+F\+L\+O\+A\+T}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+F\+L\+O\+A\+T@{L\+O\+\_\+\+F\+L\+O\+A\+T}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3}{L\+O\+\_\+\+F\+L\+O\+A\+T}\label{group__liblo_gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3}
}]32 bit I\+E\+E\+E-\/754 float. \index{L\+O\+\_\+\+S\+T\+R\+I\+N\+G@{L\+O\+\_\+\+S\+T\+R\+I\+N\+G}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+S\+T\+R\+I\+N\+G@{L\+O\+\_\+\+S\+T\+R\+I\+N\+G}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2}{L\+O\+\_\+\+S\+T\+R\+I\+N\+G}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2}
}]Standard C, N\+U\+L\+L terminated string. \index{L\+O\+\_\+\+B\+L\+O\+B@{L\+O\+\_\+\+B\+L\+O\+B}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+B\+L\+O\+B@{L\+O\+\_\+\+B\+L\+O\+B}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b}{L\+O\+\_\+\+B\+L\+O\+B}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b}
}]O\+S\+C binary blob type. Accessed using the lo\+\_\+blob\+\_\+$\ast$() functions. \index{L\+O\+\_\+\+I\+N\+T64@{L\+O\+\_\+\+I\+N\+T64}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+I\+N\+T64@{L\+O\+\_\+\+I\+N\+T64}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30}{L\+O\+\_\+\+I\+N\+T64}\label{group__liblo_gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30}
}]64 bit signed integer. \index{L\+O\+\_\+\+T\+I\+M\+E\+T\+A\+G@{L\+O\+\_\+\+T\+I\+M\+E\+T\+A\+G}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+T\+I\+M\+E\+T\+A\+G@{L\+O\+\_\+\+T\+I\+M\+E\+T\+A\+G}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe}{L\+O\+\_\+\+T\+I\+M\+E\+T\+A\+G}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe}
}]O\+S\+C Time\+Tag type, represented by the \hyperlink{structlo__timetag}{lo\+\_\+timetag} structure. \index{L\+O\+\_\+\+D\+O\+U\+B\+L\+E@{L\+O\+\_\+\+D\+O\+U\+B\+L\+E}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+D\+O\+U\+B\+L\+E@{L\+O\+\_\+\+D\+O\+U\+B\+L\+E}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6}{L\+O\+\_\+\+D\+O\+U\+B\+L\+E}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6}
}]64 bit I\+E\+E\+E-\/754 double. \index{L\+O\+\_\+\+S\+Y\+M\+B\+O\+L@{L\+O\+\_\+\+S\+Y\+M\+B\+O\+L}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+S\+Y\+M\+B\+O\+L@{L\+O\+\_\+\+S\+Y\+M\+B\+O\+L}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948}{L\+O\+\_\+\+S\+Y\+M\+B\+O\+L}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948}
}]Standard C, N\+U\+L\+L terminated, string. Used in systems which distinguish strings and symbols. \index{L\+O\+\_\+\+C\+H\+A\+R@{L\+O\+\_\+\+C\+H\+A\+R}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+C\+H\+A\+R@{L\+O\+\_\+\+C\+H\+A\+R}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26}{L\+O\+\_\+\+C\+H\+A\+R}\label{group__liblo_gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26}
}]Standard C, 8 bit, char variable. \index{L\+O\+\_\+\+M\+I\+D\+I@{L\+O\+\_\+\+M\+I\+D\+I}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+M\+I\+D\+I@{L\+O\+\_\+\+M\+I\+D\+I}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0}{L\+O\+\_\+\+M\+I\+D\+I}\label{group__liblo_gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0}
}]A 4 byte M\+I\+D\+I packet. \index{L\+O\+\_\+\+T\+R\+U\+E@{L\+O\+\_\+\+T\+R\+U\+E}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+T\+R\+U\+E@{L\+O\+\_\+\+T\+R\+U\+E}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009}{L\+O\+\_\+\+T\+R\+U\+E}\label{group__liblo_gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009}
}]Sybol representing the value True. \index{L\+O\+\_\+\+F\+A\+L\+S\+E@{L\+O\+\_\+\+F\+A\+L\+S\+E}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+F\+A\+L\+S\+E@{L\+O\+\_\+\+F\+A\+L\+S\+E}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4}{L\+O\+\_\+\+F\+A\+L\+S\+E}\label{group__liblo_gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4}
}]Sybol representing the value False. \index{L\+O\+\_\+\+N\+I\+L@{L\+O\+\_\+\+N\+I\+L}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+N\+I\+L@{L\+O\+\_\+\+N\+I\+L}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3}{L\+O\+\_\+\+N\+I\+L}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3}
}]Sybol representing the value Nil. \index{L\+O\+\_\+\+I\+N\+F\+I\+N\+I\+T\+U\+M@{L\+O\+\_\+\+I\+N\+F\+I\+N\+I\+T\+U\+M}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!L\+O\+\_\+\+I\+N\+F\+I\+N\+I\+T\+U\+M@{L\+O\+\_\+\+I\+N\+F\+I\+N\+I\+T\+U\+M}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273}{L\+O\+\_\+\+I\+N\+F\+I\+N\+I\+T\+U\+M}\label{group__liblo_gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273}
}]Sybol representing the value Infinitum. \end{description}
\end{Desc}


\subsection{Function Documentation}
\hypertarget{group__liblo_ga407e1694a2ec58ee5b90c6390e0a5d53}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+errno@{lo\+\_\+address\+\_\+errno}}
\index{lo\+\_\+address\+\_\+errno@{lo\+\_\+address\+\_\+errno}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+errno}]{\setlength{\rightskip}{0pt plus 5cm}int lo\+\_\+address\+\_\+errno (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{a}
\end{DoxyParamCaption}
)}}\label{group__liblo_ga407e1694a2ec58ee5b90c6390e0a5d53}


Return the error number from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\+\_\+address\+\_\+new()} call. 

\hypertarget{group__liblo_gace321bfb9e529d8640e96e894db5400c}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+errstr@{lo\+\_\+address\+\_\+errstr}}
\index{lo\+\_\+address\+\_\+errstr@{lo\+\_\+address\+\_\+errstr}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+errstr}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lo\+\_\+address\+\_\+errstr (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{a}
\end{DoxyParamCaption}
)}}\label{group__liblo_gace321bfb9e529d8640e96e894db5400c}


Return the error string from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\+\_\+send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\+\_\+address\+\_\+new()} call. 

\hypertarget{group__liblo_ga82b9a2d1d30214114eb5298f43aebac5}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+free@{lo\+\_\+address\+\_\+free}}
\index{lo\+\_\+address\+\_\+free@{lo\+\_\+address\+\_\+free}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}void lo\+\_\+address\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{t}
\end{DoxyParamCaption}
)}}\label{group__liblo_ga82b9a2d1d30214114eb5298f43aebac5}


Free the memory used by the lo\+\_\+address object. 

\hypertarget{group__liblo_ga3652ba694ba3c153dc96917e7321131c}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+get\+\_\+ttl@{lo\+\_\+address\+\_\+get\+\_\+ttl}}
\index{lo\+\_\+address\+\_\+get\+\_\+ttl@{lo\+\_\+address\+\_\+get\+\_\+ttl}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+get\+\_\+ttl}]{\setlength{\rightskip}{0pt plus 5cm}int lo\+\_\+address\+\_\+get\+\_\+ttl (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{t}
\end{DoxyParamCaption}
)}}\label{group__liblo_ga3652ba694ba3c153dc96917e7321131c}


Get the Time-\/to-\/\+Live value for a given target address. 


\begin{DoxyParams}{Parameters}
{\em t} & An O\+S\+C address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An integer specifying the scope of a multicast U\+D\+P message. 
\end{DoxyReturn}
\hypertarget{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+new@{lo\+\_\+address\+\_\+new}}
\index{lo\+\_\+address\+\_\+new@{lo\+\_\+address\+\_\+new}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\+\_\+address} lo\+\_\+address\+\_\+new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{host, }
\item[{const char $\ast$}]{port}
\end{DoxyParamCaption}
)}}\label{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}


Declare an O\+S\+C destination, given I\+P address and port number. Same as \hyperlink{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto()}, but using U\+D\+P. 


\begin{DoxyParams}{Parameters}
{\em host} & An I\+P address or number, or N\+U\+L\+L for the local machine. \\
\hline
{\em port} & a decimal port number or service name.\\
\hline
\end{DoxyParams}
The lo\+\_\+address object may be used as the target of O\+S\+C messages.

Note\+: if you wish to receive replies from the target of this address, you must first create a lo\+\_\+server\+\_\+thread or lo\+\_\+server object which will receive the replies. The last lo\+\_\+server(\+\_\+thread) object craeted will be the receiver. \hypertarget{group__liblo_ga1af2cb3c80393cba838f64dfcdc35620}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url@{lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url}}
\index{lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url@{lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\+\_\+address} lo\+\_\+address\+\_\+new\+\_\+from\+\_\+url (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{url}
\end{DoxyParamCaption}
)}}\label{group__liblo_ga1af2cb3c80393cba838f64dfcdc35620}


Create a lo\+\_\+address object from an O\+S\+C U\+R\+L. 

example\+: {\ttfamily \char`\"{}osc.\+udp\+://localhost\+:4444/my/path/\char`\"{}} \hypertarget{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto@{lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto}}
\index{lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto@{lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\+\_\+address} lo\+\_\+address\+\_\+new\+\_\+with\+\_\+proto (
\begin{DoxyParamCaption}
\item[{int}]{proto, }
\item[{const char $\ast$}]{host, }
\item[{const char $\ast$}]{port}
\end{DoxyParamCaption}
)}}\label{group__liblo_gaceb4b068bc48c2b075e790910cab3075}


Declare an O\+S\+C destination, given I\+P address and port number, specifying protocol. 


\begin{DoxyParams}{Parameters}
{\em proto} & The protocol to use, must be one of L\+O\+\_\+\+U\+D\+P, L\+O\+\_\+\+T\+C\+P or L\+O\+\_\+\+U\+N\+I\+X. \\
\hline
{\em host} & An I\+P address or number, or N\+U\+L\+L for the local machine. \\
\hline
{\em port} & a decimal port number or service name.\\
\hline
\end{DoxyParams}
The lo\+\_\+address object may be used as the target of O\+S\+C messages.

Note\+: if you wish to receive replies from the target of this address, you must first create a lo\+\_\+server\+\_\+thread or lo\+\_\+server object which will receive the replies. The last lo\+\_\+server(\+\_\+thread) object created will be the receiver. \hypertarget{group__liblo_gacd72097b92411db148844d89071fd281}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+address\+\_\+set\+\_\+ttl@{lo\+\_\+address\+\_\+set\+\_\+ttl}}
\index{lo\+\_\+address\+\_\+set\+\_\+ttl@{lo\+\_\+address\+\_\+set\+\_\+ttl}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+address\+\_\+set\+\_\+ttl}]{\setlength{\rightskip}{0pt plus 5cm}void lo\+\_\+address\+\_\+set\+\_\+ttl (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{t, }
\item[{int}]{ttl}
\end{DoxyParamCaption}
)}}\label{group__liblo_gacd72097b92411db148844d89071fd281}


Set the Time-\/to-\/\+Live value for a given target address. 

This is required for sending multicast U\+D\+P messages. A value of 1 (the usual case) keeps the message within the subnet, while 255 means a global, unrestricted scope.


\begin{DoxyParams}{Parameters}
{\em t} & An O\+S\+C address. \\
\hline
{\em ttl} & An integer specifying the scope of a multicast U\+D\+P message. \\
\hline
\end{DoxyParams}
\hypertarget{group__liblo_ga064e3435301e0df338b75023a7ebf38e}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+blob\+\_\+dataptr@{lo\+\_\+blob\+\_\+dataptr}}
\index{lo\+\_\+blob\+\_\+dataptr@{lo\+\_\+blob\+\_\+dataptr}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+blob\+\_\+dataptr}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ lo\+\_\+blob\+\_\+dataptr (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+blob}}]{b}
\end{DoxyParamCaption}
)}}\label{group__liblo_ga064e3435301e0df338b75023a7ebf38e}


Return a pointer to the start of the blob data to allow contents to be changed. 

\hypertarget{group__liblo_gab6c9184f0a54f19319d8a6409487b466}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+blob\+\_\+datasize@{lo\+\_\+blob\+\_\+datasize}}
\index{lo\+\_\+blob\+\_\+datasize@{lo\+\_\+blob\+\_\+datasize}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+blob\+\_\+datasize}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t lo\+\_\+blob\+\_\+datasize (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+blob}}]{b}
\end{DoxyParamCaption}
)}}\label{group__liblo_gab6c9184f0a54f19319d8a6409487b466}


Return the amount of valid data in a lo\+\_\+blob object. 

If you want to know the storage size, use \hyperlink{group__liblolowlevel_gaf793bbd32346a91d7d680d91ae68d1bd}{lo\+\_\+arg\+\_\+size()}. \hypertarget{group__liblo_gaa46ef058cfdf14a16936c062ebac19b9}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+blob\+\_\+free@{lo\+\_\+blob\+\_\+free}}
\index{lo\+\_\+blob\+\_\+free@{lo\+\_\+blob\+\_\+free}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+blob\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}void lo\+\_\+blob\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+blob}}]{b}
\end{DoxyParamCaption}
)}}\label{group__liblo_gaa46ef058cfdf14a16936c062ebac19b9}


Free the memory taken by a blob. 

\hypertarget{group__liblo_gaffb2348c70cb0e1214fd50bdc7574c39}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+blob\+\_\+new@{lo\+\_\+blob\+\_\+new}}
\index{lo\+\_\+blob\+\_\+new@{lo\+\_\+blob\+\_\+new}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+blob\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\+\_\+blob} lo\+\_\+blob\+\_\+new (
\begin{DoxyParamCaption}
\item[{int32\+\_\+t}]{size, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__liblo_gaffb2348c70cb0e1214fd50bdc7574c39}


Create a new O\+S\+C blob type. 


\begin{DoxyParams}{Parameters}
{\em size} & The amount of space to allocate in the blob structure. \\
\hline
{\em data} & The data that will be used to initialise the blob, should be size bytes long. \\
\hline
\end{DoxyParams}
\hypertarget{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+send@{lo\+\_\+send}}
\index{lo\+\_\+send@{lo\+\_\+send}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+send}]{\setlength{\rightskip}{0pt plus 5cm}int lo\+\_\+send (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{targ, }
\item[{const char $\ast$}]{path, }
\item[{const char $\ast$}]{type, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}


Send a O\+S\+C formatted message to the address specified. 


\begin{DoxyParams}{Parameters}
{\em targ} & The target O\+S\+C address \\
\hline
{\em path} & The O\+S\+C path the message will be delivered to \\
\hline
{\em type} & The types of the data items in the message, types are defined in \hyperlink{lo__osc__types_8h}{lo\+\_\+osc\+\_\+types.\+h} \\
\hline
{\em ...} & The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.\\
\hline
\end{DoxyParams}
example\+: 
\begin{DoxyCode}
1 lo\_send(t, "/foo/bar", "ff", 0.1f, 23.0f);
\end{DoxyCode}


\begin{DoxyReturn}{Returns}
-\/1 on failure. 
\end{DoxyReturn}
\hypertarget{group__liblo_gaa4a314562b09e2fd00749a5d0b4d0955}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+send\+\_\+from@{lo\+\_\+send\+\_\+from}}
\index{lo\+\_\+send\+\_\+from@{lo\+\_\+send\+\_\+from}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+send\+\_\+from}]{\setlength{\rightskip}{0pt plus 5cm}int lo\+\_\+send\+\_\+from (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{targ, }
\item[{{\bf lo\+\_\+server}}]{from, }
\item[{{\bf lo\+\_\+timetag}}]{ts, }
\item[{const char $\ast$}]{path, }
\item[{const char $\ast$}]{type, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__liblo_gaa4a314562b09e2fd00749a5d0b4d0955}


Send a O\+S\+C formatted message to the address specified, from the same socket as the specified server. 


\begin{DoxyParams}{Parameters}
{\em targ} & The target O\+S\+C address \\
\hline
{\em from} & The server to send message from (can be N\+U\+L\+L to use new socket) \\
\hline
{\em ts} & The O\+S\+C timetag timestamp at which the message will be processed (can be L\+O\+\_\+\+T\+T\+\_\+\+I\+M\+M\+E\+D\+I\+A\+T\+E if you don't want to attach a timetag) \\
\hline
{\em path} & The O\+S\+C path the message will be delivered to \\
\hline
{\em type} & The types of the data items in the message, types are defined in \hyperlink{lo__osc__types_8h}{lo\+\_\+osc\+\_\+types.\+h} \\
\hline
{\em ...} & The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.\\
\hline
\end{DoxyParams}
example\+: 
\begin{DoxyCode}
1 serv = lo\_server\_new(NULL, err);
2 lo\_server\_add\_method(serv, "/reply", "ss", reply\_handler, NULL);
3 lo\_send\_from(t, serv, LO\_TT\_IMMEDIATE, "/foo/bar", "ff", 0.1f, 23.0f);
\end{DoxyCode}


\begin{DoxyReturn}{Returns}
on success, the number of bytes sent, or -\/1 on failure. 
\end{DoxyReturn}
\hypertarget{group__liblo_ga42ec6437789c7516c5b7909d8504751a}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+send\+\_\+timestamped@{lo\+\_\+send\+\_\+timestamped}}
\index{lo\+\_\+send\+\_\+timestamped@{lo\+\_\+send\+\_\+timestamped}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+send\+\_\+timestamped}]{\setlength{\rightskip}{0pt plus 5cm}int lo\+\_\+send\+\_\+timestamped (
\begin{DoxyParamCaption}
\item[{{\bf lo\+\_\+address}}]{targ, }
\item[{{\bf lo\+\_\+timetag}}]{ts, }
\item[{const char $\ast$}]{path, }
\item[{const char $\ast$}]{type, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__liblo_ga42ec6437789c7516c5b7909d8504751a}


Send a O\+S\+C formatted message to the address specified, scheduled to be dispatch at some time in the future. 


\begin{DoxyParams}{Parameters}
{\em targ} & The target O\+S\+C address \\
\hline
{\em ts} & The O\+S\+C timetag timestamp at which the message will be processed \\
\hline
{\em path} & The O\+S\+C path the message will be delivered to \\
\hline
{\em type} & The types of the data items in the message, types are defined in \hyperlink{lo__osc__types_8h}{lo\+\_\+osc\+\_\+types.\+h} \\
\hline
{\em ...} & The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.\\
\hline
\end{DoxyParams}
example\+: 
\begin{DoxyCode}
1 lo\_timetag now;<br>
2 lo\_timetag\_now(&now);<br>
3 lo\_send\_timestamped(t, now, "/foo/bar", "ff", 0.1f, 23.0f);
\end{DoxyCode}


\begin{DoxyReturn}{Returns}
on success, the number of bytes sent, or -\/1 on failure. 
\end{DoxyReturn}
\hypertarget{group__liblo_gad9fa9a716b9df6b60357ea05e6c5f87b}{\index{High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}!lo\+\_\+version@{lo\+\_\+version}}
\index{lo\+\_\+version@{lo\+\_\+version}!High-\/level O\+S\+C A\+P\+I@{High-\/level O\+S\+C A\+P\+I}}
\subsubsection[{lo\+\_\+version}]{\setlength{\rightskip}{0pt plus 5cm}void lo\+\_\+version (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{verstr, }
\item[{int}]{verstr\+\_\+size, }
\item[{int $\ast$}]{major, }
\item[{int $\ast$}]{minor, }
\item[{char $\ast$}]{extra, }
\item[{int}]{extra\+\_\+size, }
\item[{int $\ast$}]{lt\+\_\+major, }
\item[{int $\ast$}]{lt\+\_\+minor, }
\item[{int $\ast$}]{lt\+\_\+bug}
\end{DoxyParamCaption}
)}}\label{group__liblo_gad9fa9a716b9df6b60357ea05e6c5f87b}


Get information on the version of liblo current in use. 

All parameters are optional and can be given the value of 0 if that information is not desired. For example, to get just the version as a string, call lo\+\_\+version(str, size, 0, 0, 0, 0, 0, 0, 0);

The \char`\"{}lt\char`\"{} fields, called the A\+B\+I version, corresponds to libtool's versioning system for binary interface compatibility, and is not related to the library version number. This information is usually encoded in the filename of the shared library.

Typically the string returned in 'verstr' should correspond with \$major.\$minor\$extra, e.\+g., \char`\"{}0.\+28rc\char`\"{}. If no 'extra' information is present, e.\+g., \char`\"{}0.\+28\char`\"{}, extra will given the null string.


\begin{DoxyParams}{Parameters}
{\em verstr} & A buffer to receive a string describing the library version. \\
\hline
{\em verstr\+\_\+size} & Size of the buffer pointed to by string. \\
\hline
{\em major} & Location to receive the library major version. \\
\hline
{\em minor} & Location to receive the library minor version. \\
\hline
{\em extra} & Location to receive the library version extra string. \\
\hline
{\em extra\+\_\+size} & Size of the buffer pointed to by extra. \\
\hline
{\em lt\+\_\+major} & Location to receive the A\+B\+I major version. \\
\hline
{\em lt\+\_\+minor} & Location to receive the A\+B\+I minor version. \\
\hline
{\em lt\+\_\+bug} & Location to receive the A\+B\+I 'bugfix' version. \\
\hline
\end{DoxyParams}
