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