Hiya, folks. Got a few questions for you. First, let me describe my situation.
I've got a project that includes a built-in terminal emulator. The GUI is built using wxWidgets, and the terminal control is based on a class called wxTerm that was borrowed from a project called taTelnet. wxTerm just interprets and displays VT100 code, and doesn't do any connection stuff. For our project, we created a wxSSH subclass that, through a central Networking component, creates an invisible Plink process in the background and just pipes all communications through there (Plink is the command-line version of the Putty SSH client). The Networking component also manages additional connections to the server, mostly one-shot commands like directory listings and such, each done with more Plink processes. So, all this works okay, but I'd really like to rework the system so that all of the SSH communication is handled internally, rather than through an outside process. I've been evaluating various SSH toolkits and trying to get a feel for how they do things. I like some of what I see in libssh2, especially the fact that you have SCP support built into the library, but I'd like some more information before I jump in. First, I'm wondering if there's any further documentation or examples of how to go about using libssh2 in a serious program, particularly for terminal emulation support. The ssh2_sample.c kind of skimps out on that area, instead just saying that "this is where stuff happens". The API documentation is decent, but there's not a lot of help in how to use that API. (As a side note, any chance you could include the API docs in the distribution so they are available offline? I wound up copying and pasting the individual wiki pages into three or four HTML documents earlier today so I could have them on-hand.) Second, one of the things I'm going to want to do is send the SSH "window-change" command, which tells the server that the local terminal has been resized. This is defined in the SSH spec as sending the words "window-change", followed by a series of four integers defining the new number of rows and columns. Aris Adamantiadis' libssh has support for this (see http://www.koders.com/c/fidB15FF6A629FC181A68A29859F27B8A00703132D5.aspx#L554 ), but I don't see any explicit support for this in libssh2. I'm guessing I'd have to set up a very specific character buffer and pass it to libssh2_channel_write_ex, but I'm not 100% sure on that. Any suggestions? Third, I saw a few comments about possible slowness in some connections, comments about blocking and non-blocking connections, and some discussions of possible API changes. What's up with these areas, and are there any plans for major changes in the near future? Finally, I'd appreciate any suggestions or tips you might have in going about this process and using the library. Thanks in advance for any help you can give! Mark Erikson http://www.isquaredsoftware.com ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ libssh2-devel mailing list libssh2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libssh2-devel