#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/SM/SMlib.h>
#include "SMlibint.h"
#include <stdio.h>
void
SmFreeProperty(SmProp *prop)
{
if (prop)
{
int i;
if (prop->name)
free (prop->name);
if (prop->type)
free (prop->type);
if (prop->vals)
{
for (i = 0; i < prop->num_vals; i++)
if (prop->vals[i].value)
free ((char *) prop->vals[i].value);
free ((char *) prop->vals);
}
free ((char *) prop);
}
}
void
SmFreeReasons(int count, char **reasonMsgs)
{
if (reasonMsgs)
{
int i;
for (i = 0; i < count; i++)
free (reasonMsgs[i]);
free ((char *) reasonMsgs);
}
}
int
SmcProtocolVersion(SmcConn smcConn)
{
return (smcConn->proto_major_version);
}
int
SmcProtocolRevision(SmcConn smcConn)
{
return (smcConn->proto_minor_version);
}
char *
SmcVendor(SmcConn smcConn)
{
char *string = (char *) malloc (strlen (smcConn->vendor) + 1);
strcpy (string, smcConn->vendor);
return (string);
}
char *
SmcRelease(SmcConn smcConn)
{
char *string = (char *) malloc (strlen (smcConn->release) + 1);
strcpy (string, smcConn->release);
return (string);
}
char *
SmcClientID(SmcConn smcConn)
{
char *clientId = (char *) malloc (strlen (smcConn->client_id) + 1);
strcpy (clientId, smcConn->client_id);
return (clientId);
}
IceConn
SmcGetIceConnection(SmcConn smcConn)
{
return (smcConn->iceConn);
}
int
SmsProtocolVersion(SmsConn smsConn)
{
return (smsConn->proto_major_version);
}
int
SmsProtocolRevision(SmsConn smsConn)
{
return (smsConn->proto_minor_version);
}
char *
SmsClientID(SmsConn smsConn)
{
char *clientId = (char *) malloc (strlen (smsConn->client_id) + 1);
strcpy (clientId, smsConn->client_id);
return (clientId);
}
IceConn
SmsGetIceConnection(SmsConn smsConn)
{
return (smsConn->iceConn);
}