mirror of git://git.sysmocom.de/ofono
Refactor: call id allocation / release
This commit is contained in:
parent
8e02b1a67f
commit
c7ac706de1
10
src/modem.c
10
src/modem.c
|
@ -98,7 +98,7 @@ struct ofono_property {
|
||||||
void *value;
|
void *value;
|
||||||
};
|
};
|
||||||
|
|
||||||
unsigned int __ofono_modem_alloc_callid(struct ofono_modem *modem)
|
unsigned int __ofono_modem_callid_next(struct ofono_modem *modem)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
@ -106,14 +106,18 @@ unsigned int __ofono_modem_alloc_callid(struct ofono_modem *modem)
|
||||||
if (modem->call_ids & (0x1 << i))
|
if (modem->call_ids & (0x1 << i))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
modem->call_ids |= (0x1 << i);
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void __ofono_modem_release_callid(struct ofono_modem *modem, int id)
|
void __ofono_modem_callid_hold(struct ofono_modem *modem, int id)
|
||||||
|
{
|
||||||
|
modem->call_ids |= (0x1 << id);
|
||||||
|
}
|
||||||
|
|
||||||
|
void __ofono_modem_callid_release(struct ofono_modem *modem, int id)
|
||||||
{
|
{
|
||||||
modem->call_ids &= ~(0x1 << id);
|
modem->call_ids &= ~(0x1 << id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,8 +90,9 @@ void __ofono_plugin_cleanup(void);
|
||||||
|
|
||||||
#include <ofono/modem.h>
|
#include <ofono/modem.h>
|
||||||
|
|
||||||
unsigned int __ofono_modem_alloc_callid(struct ofono_modem *modem);
|
unsigned int __ofono_modem_callid_next(struct ofono_modem *modem);
|
||||||
void __ofono_modem_release_callid(struct ofono_modem *modem, int id);
|
void __ofono_modem_callid_hold(struct ofono_modem *modem, int id);
|
||||||
|
void __ofono_modem_callid_release(struct ofono_modem *modem, int id);
|
||||||
|
|
||||||
struct ofono_atom;
|
struct ofono_atom;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue