app
timex_hook(struct op *t, char **volatile *app)
char **wp = *app;
*app = wp;
priority = dcbcfg->app[i].priority & 0x7;
selector = dcbcfg->app[i].selector & 0x7;
buf[offset + 1] = (dcbcfg->app[i].prot_id >> 0x8) & 0xFF;
buf[offset + 2] = dcbcfg->app[i].prot_id & 0xFF;
dcbcfg->app[i].priority = ((buf[offset] &
dcbcfg->app[i].selector = ((buf[offset] &
dcbcfg->app[i].prot_id = (buf[offset + 1] << 0x8) |
struct ice_cee_app_prio *app;
dcbcfg->numapps = len / sizeof(*app);
app = (struct ice_cee_app_prio *)(tlv->tlvinfo + offset);
if (app->prio_map & BIT(up))
dcbcfg->app[i].priority = up;
selector = (app->upper_oui_sel & ICE_CEE_APP_SELECTOR_M);
dcbcfg->app[i].selector = ICE_APP_SEL_ETHTYPE;
dcbcfg->app[i].selector = ICE_APP_SEL_TCPIP;
dcbcfg->app[i].selector = selector;
dcbcfg->app[i].prot_id = NTOHS(app->protocol);
offset += sizeof(*app);
uint16_t prot_id = cmp_dcbcfg->app[j].prot_id;
uint8_t sel = cmp_dcbcfg->app[j].selector;
dcbcfg->app[app_index].priority =
dcbcfg->app[app_index].selector = ice_app_sel_type;
dcbcfg->app[app_index].prot_id = ice_app_prot_id_type;
if (memcmp(&new_cfg->app, &old_cfg->app, sizeof(new_cfg->app)))
struct ice_dcb_app_priority_table app[ICE_DCBX_MAX_APPS];
struct app *a;
s->app = a;
logx(3, "slot%zu: %s/%s", s - slot_array, s->opt->name, s->app->name);
struct app *a = s->app;
s->mix.vol = MIDI_TO_ADATA(s->app->vol);
c->u.app_level.opt->name, c->u.app_level.app->name);
opt_appvol(c->u.app_level.opt, c->u.app_level.app, val);
opt_midi_vol(c->u.app_level.opt, c->u.app_level.app);
struct app *app;
struct app *app;
opt_appvol(struct opt *o, struct app *a, int vol)
if (s->app != a || s->opt != o)
opt_midi_vol(struct opt *o, struct app *a)
opt_midi_appdesc(struct opt *o, struct app *a)
struct app *a;
struct app *
struct app *a;
if (s->app != NULL && s->ops != NULL)
inuse |= 1 << (s->app - o->app_array);
struct app app_array[OPT_NAPP];
struct app *opt_mkapp(struct opt *o, char *who);
void opt_appvol(struct opt *o, struct app *a, int vol);
void opt_midi_vol(struct opt *, struct app *);
void opt_midi_appdesc(struct opt *o, struct app *a);
if (f->pstate >= SOCK_START && f->slot->app->vol != f->lastvol) {
f->slot->app->vol);
f->wmsg.u.vol.ctl = htonl(f->slot->app->vol);
f->lastvol = f->slot->app->vol;
logx(4, "slot%zu: onvol: vol -> %u", s - slot_array, s->app->vol);
uint16_t *np, uint16_t *app)
*app = 0;
*app += 1;