/[svn]/liblscp/trunk/src/common.h
ViewVC logotype

Diff of /liblscp/trunk/src/common.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 125 by capela, Mon Jun 14 21:04:04 2004 UTC revision 564 by capela, Sun May 22 22:02:00 2005 UTC
# Line 2  Line 2 
2  //  //
3  /****************************************************************************  /****************************************************************************
4     liblscp - LinuxSampler Control Protocol API     liblscp - LinuxSampler Control Protocol API
5     Copyright (C) 2004, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2004-2005, rncbc aka Rui Nuno Capela. All rights reserved.
6    
7     This library is free software; you can redistribute it and/or     This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Lesser General Public     modify it under the terms of the GNU Lesser General Public
# Line 41  struct _lscp_client_t Line 41  struct _lscp_client_t
41      // Client socket stuff.      // Client socket stuff.
42      lscp_client_proc_t  pfnCallback;      lscp_client_proc_t  pfnCallback;
43      void *              pvData;      void *              pvData;
44      lscp_socket_agent_t tcp;      lscp_socket_agent_t cmd;
45      lscp_socket_agent_t udp;      lscp_socket_agent_t evt;
46      // Session identifier.      // Subscribed events.
47      char *              sessid;      lscp_event_t        events;
48      // Client struct persistent caches.      // Client struct persistent caches.
49      char **             audio_drivers;      char **             audio_drivers;
50      char **             midi_drivers;      char **             midi_drivers;
# Line 53  struct _lscp_client_t Line 53  struct _lscp_client_t
53      char **             engines;      char **             engines;
54      int  *              channels;      int  *              channels;
55      // Client struct volatile caches.      // Client struct volatile caches.
56      lscp_driver_info_t  audio_info;      lscp_driver_info_t  audio_driver_info;
57      lscp_driver_info_t  midi_info;      lscp_driver_info_t  midi_driver_info;
58        lscp_device_info_t  audio_device_info;
59        lscp_device_info_t  midi_device_info;
60        lscp_param_info_t   audio_param_info;
61        lscp_param_info_t   midi_param_info;
62        lscp_device_port_info_t audio_channel_info;
63        lscp_device_port_info_t midi_port_info;
64        lscp_param_info_t   audio_channel_param_info;
65        lscp_param_info_t   midi_port_param_info;
66        lscp_server_info_t  server_info;
67      lscp_engine_info_t  engine_info;      lscp_engine_info_t  engine_info;
68      lscp_channel_info_t channel_info;      lscp_channel_info_t channel_info;
69      // Result and error status.      // Result and error status.
# Line 66  struct _lscp_client_t Line 75  struct _lscp_client_t
75      // Transaction call timeout (msecs).      // Transaction call timeout (msecs).
76      int                 iTimeout;      int                 iTimeout;
77      lscp_mutex_t        mutex;      lscp_mutex_t        mutex;
78        lscp_cond_t         cond;
79  };  };
80    
81    
82  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
83    // Local client request executive.
84    
85    lscp_status_t   lscp_client_recv            (lscp_client_t *pClient, char *pchBuffer, int *pcchBuffer, int iTimeout);
86    lscp_status_t   lscp_client_call            (lscp_client_t *pClient, const char *pszQuery);
87    void            lscp_client_set_result      (lscp_client_t *pClient, char *pszResult, int iErrno);
88    
89    //-------------------------------------------------------------------------
90  // General utility function prototypes.  // General utility function prototypes.
91    
92  char *      lscp_strtok             (char *pchBuffer, const char *pszSeps, char **ppch);  char *          lscp_strtok                 (char *pchBuffer, const char *pszSeps, char **ppch);
93  char *      lscp_ltrim              (char *psz);  char *          lscp_ltrim                  (char *psz);
94  char *      lscp_unquote            (char **ppsz, int dup);  char *          lscp_unquote                (char **ppsz, int dup);
95    void            lscp_unquote_dup            (char **ppszDst, char **ppszSrc);
96    
97  char **     lscp_szsplit_create     (const char *pszCsv, const char *pszSeps);  char **         lscp_szsplit_create         (const char *pszCsv, const char *pszSeps);
98  void        lscp_szsplit_destroy    (char **ppszSplit);  void            lscp_szsplit_destroy        (char **ppszSplit);
99  #ifdef LSCP_SZSPLIT_COUNT  #ifdef LSCP_SZSPLIT_COUNT
100  int         lscp_szsplit_count      (char **ppszSplit);  int             lscp_szsplit_count          (char **ppszSplit);
101  int         lscp_szsplit_size       (char **ppszSplit);  int             lscp_szsplit_size           (char **ppszSplit);
102  #endif  #endif
103    
104  int *       lscp_isplit_create      (const char *pszCsv, const char *pszSeps);  int *           lscp_isplit_create          (const char *pszCsv, const char *pszSeps);
105  void        lscp_isplit_destroy     (int *ppiSplit);  void            lscp_isplit_destroy         (int *piSplit);
106  #ifdef LSCP_ISPLIT_COUNT  #ifdef LSCP_ISPLIT_COUNT
107  int         lscp_isplit_count       (int *ppiSplit);  int             lscp_isplit_count           (int *piSplit);
108  int         lscp_isplit_size        (int *ppiSplit);  int             lscp_isplit_size            (int *piSplit);
109  #endif  #endif
110    
111    lscp_param_t *  lscp_psplit_create          (const char *pszCsv, const char *pszSep1, const char *pszSep2);
112    void            lscp_psplit_destroy         (lscp_param_t *ppSplit);
113    #ifdef LSCP_PSPLIT_COUNT
114    int             lscp_psplit_count           (lscp_param_t *ppSplit);
115    int             lscp_psplit_size            (lscp_param_t *ppSplit);
116    #endif
117    
118    void            lscp_plist_alloc       (lscp_param_t **ppList);
119    void            lscp_plist_free        (lscp_param_t **ppList);
120    void            lscp_plist_append      (lscp_param_t **ppList, const char *pszKey, const char *pszValue);
121    #ifdef LSCP_PLIST_COUNT
122    int             lscp_plist_count       (lscp_param_t **ppList);
123    int             lscp_plist_size        (lscp_param_t **ppList);
124    #endif
125    
126    //-------------------------------------------------------------------------
127    // Server struct helper functions.
128    
129    void            lscp_server_info_init       (lscp_server_info_t *pServerInfo);
130    void            lscp_server_info_free       (lscp_server_info_t *pServerInfo);
131    void            lscp_server_info_reset      (lscp_server_info_t *pServerInfo);
132    
133  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
134  // Engine struct helper functions.  // Engine struct helper functions.
135    
136  void        lscp_engine_info_init   (lscp_engine_info_t *pEngineInfo);  void            lscp_engine_info_init       (lscp_engine_info_t *pEngineInfo);
137  void        lscp_engine_info_reset  (lscp_engine_info_t *pEngineInfo);  void            lscp_engine_info_free       (lscp_engine_info_t *pEngineInfo);
138    void            lscp_engine_info_reset      (lscp_engine_info_t *pEngineInfo);
139    
140  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
141  // Channel struct helper functions.  // Channel struct helper functions.
142    
143  void        lscp_channel_info_init  (lscp_channel_info_t *pChannelInfo);  void            lscp_channel_info_init      (lscp_channel_info_t *pChannelInfo);
144  void        lscp_channel_info_reset (lscp_channel_info_t *pChannelInfo);  void            lscp_channel_info_free      (lscp_channel_info_t *pChannelInfo);
145    void            lscp_channel_info_reset     (lscp_channel_info_t *pChannelInfo);
146    
147  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
148  // Driver struct helper functions.  // Driver struct helper functions.
149    
150  void        lscp_driver_info_init   (lscp_driver_info_t *pDriverInfo);  void            lscp_driver_info_init       (lscp_driver_info_t *pDriverInfo);
151  void        lscp_driver_info_reset  (lscp_driver_info_t *pDriverInfo);  void            lscp_driver_info_free       (lscp_driver_info_t *pDriverInfo);
152    void            lscp_driver_info_reset      (lscp_driver_info_t *pDriverInfo);
153    
154    //-------------------------------------------------------------------------
155    // Device struct helper functions.
156    
157    void            lscp_device_info_init       (lscp_device_info_t *pDeviceInfo);
158    void            lscp_device_info_free       (lscp_device_info_t *pDeviceInfo);
159    void            lscp_device_info_reset      (lscp_device_info_t *pDeviceInfo);
160    
161    //-------------------------------------------------------------------------
162    // Device channel/port struct helper functions.
163    
164    void            lscp_device_port_info_init  (lscp_device_port_info_t *pDevicePortInfo);
165    void            lscp_device_port_info_free  (lscp_device_port_info_t *pDevicePortInfo);
166    void            lscp_device_port_info_reset (lscp_device_port_info_t *pDevicePortInfo);
167    
168    //-------------------------------------------------------------------------
169    // Parameter struct helper functions.
170    
171    void            lscp_param_info_init        (lscp_param_info_t *pParamInfo);
172    void            lscp_param_info_free        (lscp_param_info_t *pParamInfo);
173    void            lscp_param_info_reset       (lscp_param_info_t *pParamInfo);
174    
175    //-------------------------------------------------------------------------
176    // Concatenate a parameter list (key='value'...) into a string.
177    
178    int             lscp_param_concat           (char *pszBuffer, int cchMaxBuffer, lscp_param_t *pParams);
179    
180    
181  #endif // __LSCP_COMMON_H  #endif // __LSCP_COMMON_H

Legend:
Removed from v.125  
changed lines
  Added in v.564

  ViewVC Help
Powered by ViewVC