X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=afdDQuB4Seg5/DGNZ2RDESxw66Bc0Y+9bjK4OV0SMMs=; b=yd+Uyy33qJ33IS0KTBOcQIRYAwKVO/anYBUmg0NyrndqTFtPORdKFg/vGDQ8Y3UKlx 2/q2+ZFGFWLwLu//0y94WMG51WKm2+PaGrBXf2GaO7KnTVAX4BLX8Bgo9bZbLr4hflb3 8ZhUPrYC/689AgEKGdhA6FrnxD4Go0AoEKl+tY3WMlWqJmsEkXd0pLpTuVe069GBxES6 mhHDHTn6V4VppH/pFrB0fL8DME+H7ng6SLUuphOBjfZAYolpb38JVHeMn6s6zdAiYhEk OfmhTineAuXzejZWkvyvkpESEzhVOe3xO2QyTjXeAO5EQICyLAyWvnvuCGvxY8f5YUgU hfTw== X-Received: by 10.112.156.137 with SMTP id we9mr9904448lbb.110.1441484925850; Sat, 05 Sep 2015 13:28:45 -0700 (PDT) Date: Sat, 5 Sep 2015 23:28:43 +0300 From: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Subject: Re: [geda-user] gschem question about internals Message-ID: <20150905202843.GB7185@localhost.localdomain> Mail-Followup-To: geda-user AT delorie DOT com References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sat, Sep 05, 2015 at 05:57:59PM +0200, gedau AT igor2 DOT repo DOT hu wrote: > Hi all, > > is there any cache or data structure gschem or libgeda builds from pin > names? Something I could refer to if I wanted to find U1-2 (refdes is U1, > pin is U2) fast. > > TIA, > > Igor2 > Hi, Igor. All objects have the same type OBJECT (struct st_object) defined in libgeda/include/libgeda/struct.h. It has pointers to "substructures". The substructure for components is COMPLEX, for pins it is LINE in essence. The struct COMPLEX (st_complex) has a member named prim_objs which is a list of component primitives. Text objects are attributes if their text is in the form 'name=value'. If an object is an attribute, the st_object member attached_to shows the object where the attribute is attached (if it is attached). The lowlevel logic of working with attributes is in libgeda/src/o_attrib.c. HTH, Vladimir