dnode
dnode = of_find_node_by_name(NULL, "aliases");
if (dnode == NULL)
prop = of_find_property(dnode, "ethernet1", &len);
of_node_put(dnode);
struct device_node *dnode;
struct dnode *hpfs_alloc_dnode(struct super_block *s, secno near,
struct dnode *d;
struct dnode *d;
static loff_t get_pos(struct dnode *d, struct hpfs_dirent *fde)
static struct hpfs_dirent *dnode_pre_last_de(struct dnode *d)
static struct hpfs_dirent *dnode_last_de(struct dnode *d)
static void set_last_pointer(struct super_block *s, struct dnode *d, dnode_secno ptr)
struct hpfs_dirent *hpfs_add_de(struct super_block *s, struct dnode *d,
static void hpfs_delete_de(struct super_block *s, struct dnode *d,
static void fix_up_ptrs(struct super_block *s, struct dnode *d)
struct dnode *dd;
struct dnode *d, *ad, *rd, *nd = NULL;
struct dnode *d;
struct dnode *dnode;
if (!(dnode = hpfs_map_dnode(i->i_sb, dno, &qbh))) return 0;
if (le32_to_cpu(dnode->up) != chk_up) {
dno, chk_up, le32_to_cpu(dnode->up));
if (!(de = dnode_last_de(dnode))) {
while (!(de = dnode_pre_last_de(dnode))) {
dnode_secno up = le32_to_cpu(dnode->up);
if (!(dnode = hpfs_map_dnode(i->i_sb, up, &qbh))) return 0;
if (dnode->root_dnode) {
de = dnode_last_de(dnode);
le32_add_cpu(&dnode->first_free, -4);
t = get_pos(dnode, de);
hpfs_delete_de(i->i_sb, dnode, de);
set_last_pointer(i->i_sb, dnode, ddno);
struct dnode *dnode;
if (!(dnode = hpfs_map_dnode(i->i_sb, dno, &qbh))) return;
if (le32_to_cpu(dnode->first_free) > 56) goto end;
if (le32_to_cpu(dnode->first_free) == 52 || le32_to_cpu(dnode->first_free) == 56) {
int root = dnode->root_dnode;
up = le32_to_cpu(dnode->up);
de = dnode_first_de(dnode);
struct dnode *d1;
if (!(dnode = hpfs_map_dnode(i->i_sb, up, &qbh))) return;
de_end = dnode_end_de(dnode);
for (de = dnode_first_de(dnode); de < de_end; de = de_next_de(de), p++)
le32_add_cpu(&dnode->first_free, -4);
(char *)dnode + le32_to_cpu(dnode->first_free) - (char *)de_next_de(de));
struct dnode *d1;
hpfs_error(i->i_sb, "delete_empty_dnode: dnode %08x, first_free == %03x", dno, le32_to_cpu(dnode->first_free));
struct dnode *d1;
hpfs_delete_de(i->i_sb, dnode, de);
struct hpfs_dirent *de_prev = dnode_pre_last_de(dnode);
struct dnode *d1;
hpfs_delete_de(i->i_sb, dnode, de_prev);
le32_add_cpu(&dnode->first_free, 4);
struct dnode *dnode = qbh->data;
if (depth && (de->down || (de == dnode_first_de(dnode) && de_next_de(de)->last))) {
for_all_poss(i, hpfs_pos_del, (t = get_pos(dnode, de)) + 1, 1);
hpfs_delete_de(i->i_sb, dnode, de);
struct dnode *dnode;
if (!(dnode = hpfs_map_dnode(s, dno, &qbh))) return;
if (hpfs_sb(s)->sb_chk) if (odno && odno != -1 && le32_to_cpu(dnode->up) != odno)
hpfs_error(s, "hpfs_count_dnodes: bad up pointer; dnode %08x, down %08x points to %08x", odno, dno, le32_to_cpu(dnode->up));
de = dnode_first_de(dnode);
if ((de = de_next_de(de)) < dnode_end_de(dnode)) goto next_de;
dno = le32_to_cpu(dnode->up);
if (dnode->root_dnode) {
struct quad_buffer_head *qbh, struct dnode **dn)
struct dnode *dnode;
dnode = hpfs_map_dnode(s, dno, qbh);
if (!dnode) return NULL;
if (dn) *dn=dnode;
de = dnode_first_de(dnode);
de_end = dnode_end_de(dnode);
if (up && le32_to_cpu(((struct dnode *)qbh.data)->up) != up)
hpfs_error(s, "hpfs_de_as_down_as_possible: bad up pointer; dnode %08x, down %08x points to %08x", up, d, le32_to_cpu(((struct dnode *)qbh.data)->up));
struct dnode *dnode;
struct dnode *up_dnode;
if (!(de = map_nth_dirent(inode->i_sb, dno, pos, qbh, &dnode)))
if ((d = de_next_de(de)) < dnode_end_de(dnode)) {
if (dnode->root_dnode) goto bail;
if (!(up_dnode = hpfs_map_dnode(inode->i_sb, le32_to_cpu(dnode->up), &qbh0)))
"map_pos_dirent: pos crossed dnode boundary; dnode = %08x", le32_to_cpu(dnode->up));
*posp = ((loff_t) le32_to_cpu(dnode->up) << 4) + c;
dno, le32_to_cpu(dnode->up));
struct dnode *dnode;
if (!(dnode = hpfs_map_dnode(inode->i_sb, dno, qbh))) return NULL;
de_end = dnode_end_de(dnode);
for (de = dnode_first_de(dnode); de < de_end; de = de_next_de(de)) {
struct dnode *dnode;
if (!(dnode = hpfs_map_dnode(s, dno, &qbh))) return;
de = dnode_first_de(dnode);
if (!(dnode = hpfs_map_dnode(s, dno = d1, &qbh))) return;
de = dnode_first_de(dnode);
static inline struct hpfs_dirent *dnode_first_de (struct dnode *dnode)
return (void *) dnode->dirent;
static inline struct hpfs_dirent *dnode_end_de (struct dnode *dnode)
CHKCOND(le32_to_cpu(dnode->first_free)>=0x14 && le32_to_cpu(dnode->first_free)<=0xa00,("HPFS: dnode_end_de: dnode->first_free = %x\n",(unsigned)le32_to_cpu(dnode->first_free)));
return (void *) dnode + le32_to_cpu(dnode->first_free);
struct dnode *hpfs_alloc_dnode(struct super_block *, secno, dnode_secno *, struct quad_buffer_head *);
struct hpfs_dirent *hpfs_add_de(struct super_block *, struct dnode *,
struct dnode *hpfs_map_dnode(struct super_block *s, dnode_secno, struct quad_buffer_head *);
struct dnode *hpfs_map_dnode(struct super_block *s, unsigned secno,
struct dnode *dnode;
if ((dnode = hpfs_map_4sectors(s, secno, qbh, DNODE_RD_AHEAD)))
unsigned char *d = (unsigned char *)dnode;
if (le32_to_cpu(dnode->magic) != DNODE_MAGIC) {
if (le32_to_cpu(dnode->self) != secno)
hpfs_error(s, "bad self pointer on dnode %08x self = %08x", secno, le32_to_cpu(dnode->self));
if (le32_to_cpu(dnode->first_free) > 2048) {
hpfs_error(s, "dnode %08x has first_free == %08x", secno, le32_to_cpu(dnode->first_free));
for (p = 20; p < le32_to_cpu(dnode->first_free); p += d[p] + (d[p+1] << 8)) {
struct hpfs_dirent *de = (struct hpfs_dirent *)((char *)dnode + p);
if (p != le32_to_cpu(dnode->first_free)) {
return dnode;
struct dnode *dnode;
dnode = hpfs_alloc_dnode(dir->i_sb, fno, &dno, &qbh0);
if (!dnode)
dnode->root_dnode = 1;
dnode->up = cpu_to_le32(fno);
de = hpfs_add_de(dir->i_sb, dnode, "\001\001", 2, 0);
u32 dnode, selector;
dnode = dst->node;
if (!tipc_msg_pskb_copy(dnode, pkts, &_pkts))
if (tipc_node_xmit(net, &_pkts, dnode, selector) == -ELINKCONG)
u32 dnode = tipc_node_get_addr(dest);
dnode);
u16 gen, u8 mode, u32 dnode)
INT_H_SIZE, dnode);
if (dnode)
rc = tipc_node_xmit(net, &pkts, dnode, 0);
u16 gen, u8 mode, u32 dnode);
bool tipc_group_cong(struct tipc_group *grp, u32 dnode, u32 dport,
m = tipc_group_find_dest(grp, dnode, dport);
{ u32 dnode = tipc_own_addr(grp->net);
GROUP_H_SIZE, sizeof(evt), dnode, m->node,
bool tipc_group_cong(struct tipc_group *grp, u32 dnode, u32 dport,
u32 dnode = l->addr;
dnode, onode, 0, 0, 0);
BASIC_H_SIZE, dnode);
u32 dnode = msg_destnode(hdr);
if (dnode == tipc_own_addr(l->net)) {
u32 dnode = tipc_own_addr(l->net);
dnode, l->addr, dport, 0, 0);
tipc_msg_init(onode, msg, user, type, hdr_sz, dnode);
u32 dnode, bool *new_bundle)
dnode);
u32 hsize, u32 dnode)
msg_set_destnode(m, dnode);
uint hdr_sz, uint data_sz, u32 dnode,
uint data_sz, u32 dnode, u32 onode,
u32 dnode, bool *new_bundle);
u32 dnode, struct list_head *pls, u16 seqno)
u32 msg_dsz = ((tipc_node_get_mtu(net, dnode, 0, false) - INT_H_SIZE) /
dnode);
void tipc_named_node_up(struct net *net, u32 dnode, u16 capabilities)
named_distribute(net, &head, dnode, &nt->cluster_scope, seqno);
tipc_node_xmit(net, &head, dnode, 0);
void tipc_named_node_up(struct net *net, u32 dnode, u16 capabilities);
u32 dnode, int selector)
if (in_own_node(net, dnode)) {
n = tipc_node_find(net, dnode);
int tipc_node_xmit_skb(struct net *net, struct sk_buff *skb, u32 dnode,
tipc_node_xmit(net, &head, dnode, selector);
u32 selector, dnode;
dnode = msg_destnode(buf_msg(skb));
tipc_node_xmit_skb(net, skb, dnode, selector);
u32 dnode = msg_destnode(hdr);
if ((usr == BCAST_PROTOCOL) && (dnode != tipc_own_addr(net)))
n = tipc_node_find(net, dnode);
int tipc_node_add_conn(struct net *net, u32 dnode, u32 port, u32 peer_port)
if (in_own_node(net, dnode))
node = tipc_node_find(net, dnode);
pr_warn("Connecting sock to node 0x%x failed\n", dnode);
conn->peer_node = dnode;
void tipc_node_remove_conn(struct net *net, u32 dnode, u32 port)
if (in_own_node(net, dnode))
node = tipc_node_find(net, dnode);
int tipc_node_xmit(struct net *net, struct sk_buff_head *list, u32 dnode,
int tipc_node_add_conn(struct net *net, u32 dnode, u32 port, u32 peer_port);
void tipc_node_remove_conn(struct net *net, u32 dnode, u32 port);
u32 dnode = tsk_peer_node(tsk);
rc = tipc_node_xmit(net, txq, dnode, tsk->portid);
u32 dnode = tsk_peer_node(tsk);
tsk->peer_caps = tipc_node_get_capabilities(net, dnode);
rc = tipc_node_xmit(net, txq, dnode, tsk->portid);
u32 dnode = tsk_peer_node(tsk);
dnode, tsk_own_node(tsk), peer_port,
u32 dnode, dport = 0;
dnode = msg_destnode(buf_msg(skb));
tipc_node_xmit_skb(net, skb, dnode, dport);
u32 dnode;
dnode = msg_destnode(buf_msg(skb));
tipc_node_xmit_skb(sock_net(sk), skb, dnode, selector);
u32 dnode = tsk_peer_node(tsk);
tipc_node_remove_conn(net, dnode, tsk->portid);
TIPC_CONN_MSG, SHORT_H_SIZE, 0, dnode,
tipc_node_xmit_skb(net, skb, dnode, tsk->portid);
u32 dnode, u32 dport, int dlen)
msg_set_destnode(hdr, dnode);
mtu = tipc_node_get_mtu(net, dnode, tsk->portid, false);
rc = tipc_node_xmit(net, &pkts, dnode, tsk->portid);
tipc_dest_push(&tsk->cong_links, dnode, 0);